X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/486f0e76c270719c66e6f44b81a3b1fa0a55e3d5..cafc76a4bbbcb59f1c48d9c8f592c671238ffb51:/include/wx/hashmap.h diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index 14d8684f54..4ac35a37e0 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -74,11 +74,7 @@ protected: static void** AllocTable( size_t sz ) { -#ifdef __WXWINCE__ - return (void **)malloc(sz * sizeof(void*)); -#else return (void **)calloc(sz, sizeof(void*)); -#endif } }; @@ -378,7 +374,6 @@ public: \ typedef const VALUE_T const_t2; \ \ CLASSNAME( const const_t1& f, const const_t2& s ):first(t1(f)),second(t2(s)) {} \ - CLASSNAME( const const_t1& f ):first(t1(f)),second(t2()) {} \ \ t1 first; \ t2 second; \ @@ -521,7 +516,7 @@ public: \ \ mapped_type& operator[]( const const_key_type& key ) \ { \ - return GetOrCreateNode( CLASSNAME##_wxImplementation_Pair( key ) )->m_value.second; \ + return GetOrCreateNode( CLASSNAME##_wxImplementation_Pair( key, mapped_type() ) )->m_value.second; \ } \ \ const_iterator find( const const_key_type& key ) const \ @@ -560,16 +555,28 @@ public: \ // and these do exactly the same thing but should be used inside the // library +#define WX_DECLARE_HASH_MAP_WITH_DECL( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL) \ + _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, DECL ) + #define WX_DECLARE_EXPORTED_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME) \ - _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, class WXDLLEXPORT ) + WX_DECLARE_HASH_MAP_WITH_DECL( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, \ + CLASSNAME, class WXDLLEXPORT ) -#define WX_DECLARE_EXPORTED_STRING_HASH_MAP( VALUE_T, CLASSNAME ) \ +#define WX_DECLARE_STRING_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, DECL ) \ _WX_DECLARE_HASH_MAP( wxString, VALUE_T, wxStringHash, wxStringEqual, \ - CLASSNAME, class WXDLLEXPORT ) + CLASSNAME, DECL ) -#define WX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP( VALUE_T, CLASSNAME ) \ +#define WX_DECLARE_EXPORTED_STRING_HASH_MAP( VALUE_T, CLASSNAME ) \ + WX_DECLARE_STRING_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, \ + class WXDLLEXPORT ) + +#define WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, DECL ) \ _WX_DECLARE_HASH_MAP( void*, VALUE_T, wxPointerHash, wxPointerEqual, \ - CLASSNAME, class WXDLLEXPORT ) + CLASSNAME, DECL ) + +#define WX_DECLARE_EXPORTED_VOIDPTR_HASH_MAP( VALUE_T, CLASSNAME ) \ + WX_DECLARE_VOIDPTR_HASH_MAP_WITH_DECL( VALUE_T, CLASSNAME, \ + class WXDLLEXPORT ) // delete all hash elements //