Moved wx/datetime.inl contents to wx/datetime.h and removed inline redefinition hack. Implemented STL-like interface on top of wxList/wxArray, when wxUSE_STL=0. Implemented wxList-like and wxArray interfaces on top of std::list and std::vector, when wxUSE_STL=1. Added arrstr.h, moved wxArrayString declaration there; string.h #includes arrstr.h only if WXWIN_COMPATIBILITY_2_4 is enabled. Added WX_CLEAR_HASH_MAP, WX_CLEAR_HASH_TABLE, WX_CLEAR_LIST macros, to clear a wxHashMap, wxHashTable, wxList containing pointers: deletes pointers and makes container zero-sized. When wxUSE_STL=1, wxStringList works like a std::list<wxString>. Made wxBase compile when wxUSE_STL=1. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/////////////////////////////////////////////////////////////////////////////
 | 
						|
// Name:        listimpl.cpp
 | 
						|
// Purpose:     second-part of macro based implementation of template lists
 | 
						|
// Author:      Vadim Zeitlin
 | 
						|
// Modified by:
 | 
						|
// Created:     16/11/98
 | 
						|
// RCS-ID:      $Id$
 | 
						|
// Copyright:   (c) 1998 Vadim Zeitlin
 | 
						|
// Licence:     wxWindows license
 | 
						|
/////////////////////////////////////////////////////////////////////////////
 | 
						|
 | 
						|
#if wxUSE_STL
 | 
						|
 | 
						|
#undef WX_DEFINE_LIST
 | 
						|
#define WX_DEFINE_LIST(name)
 | 
						|
 | 
						|
#else // if !wxUSE_STL
 | 
						|
 | 
						|
#define _DEFINE_LIST(T, name)                   \
 | 
						|
    void wx##name##Node::DeleteData()    \
 | 
						|
    {                                           \
 | 
						|
        delete (T *)GetData();                  \
 | 
						|
    }
 | 
						|
 | 
						|
// redefine the macro so that now it will generate the class implementation
 | 
						|
// old value would provoke a compile-time error if this file is not included
 | 
						|
#undef  WX_DEFINE_LIST
 | 
						|
#define WX_DEFINE_LIST(name) _DEFINE_LIST(_WX_LIST_ITEM_TYPE_##name, name)
 | 
						|
 | 
						|
// don't pollute preprocessor's name space
 | 
						|
//#undef  _DEFINE_LIST
 | 
						|
 | 
						|
#endif
 |