1///////////////////////////////////////////////////////////////////////////// 2// Name: listimpl.cpp 3// Purpose: second-part of macro based implementation of template lists 4// Author: Vadim Zeitlin 5// Modified by: 6// Created: 16/11/98 7// RCS-ID: $Id: listimpl.cpp 38893 2006-04-24 17:59:10Z VZ $ 8// Copyright: (c) 1998 Vadim Zeitlin 9// Licence: wxWindows licence 10///////////////////////////////////////////////////////////////////////////// 11 12#if wxUSE_STL 13 14#undef WX_DEFINE_LIST 15#define WX_DEFINE_LIST(name) \ 16 void _WX_LIST_HELPER_##name::DeleteFunction( _WX_LIST_ITEM_TYPE_##name X )\ 17 { \ 18 delete X; \ 19 } \ 20 name::BaseListType name::EmptyList; 21 22#else // !wxUSE_STL 23 24 #define _DEFINE_LIST(T, name) \ 25 void wx##name##Node::DeleteData() \ 26 { \ 27 delete (T *)GetData(); \ 28 } 29 30 // redefine the macro so that now it will generate the class implementation 31 // old value would provoke a compile-time error if this file is not included 32 #undef WX_DEFINE_LIST 33 #define WX_DEFINE_LIST(name) _DEFINE_LIST(_WX_LIST_ITEM_TYPE_##name, name) 34 35 // don't pollute preprocessor's name space 36 //#undef _DEFINE_LIST 37 38#endif // wxUSE_STL/!wxUSE_STL 39 40