X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/fe8604accea93f016df337a19afa7f957626dcf1..ca80fdee5eea286d700e0a8f03c88da9f4f88ade:/include/wx/hashmap.h diff --git a/include/wx/hashmap.h b/include/wx/hashmap.h index adf8035092..8c234228f2 100644 --- a/include/wx/hashmap.h +++ b/include/wx/hashmap.h @@ -143,8 +143,8 @@ public: \ value_type m_value; \ }; \ \ - struct Iterator; \ - friend struct Iterator; \ + CLASSEXP Iterator; \ + friend CLASSEXP Iterator; \ protected: \ static void DeleteNode( _wxHashTable_NodeBase* node ) \ { \ @@ -154,8 +154,9 @@ public: \ /* */ \ /* forward iterator */ \ /* */ \ - struct Iterator \ + CLASSEXP Iterator \ { \ + public: \ Node* m_node; \ Self* m_ht; \ \ @@ -186,8 +187,9 @@ public: \ }; \ \ public: \ - struct iterator:public Iterator \ + CLASSEXP iterator : public Iterator \ { \ + public: \ iterator() : Iterator() {} \ iterator( Node* node, Self* ht ) : Iterator( node, ht ) {} \ iterator& operator++() { PlusPlus(); return *this; } \ @@ -196,8 +198,9 @@ public: \ pointer operator ->() const { return &(m_node->m_value); } \ }; \ \ - struct const_iterator:public Iterator \ + CLASSEXP const_iterator : public Iterator \ { \ + public: \ const_iterator() : Iterator() {} \ const_iterator( Node* node, const Self* ht ) \ : Iterator( node, (Self*)ht ) {} \ @@ -430,8 +433,8 @@ public: \ }; // grow/shrink predicates -inline bool never_grow( size_t, size_t ) { return FALSE; } -inline bool never_shrink( size_t, size_t ) { return FALSE; } +inline bool never_grow( size_t, size_t ) { return false; } +inline bool never_shrink( size_t, size_t ) { return false; } inline bool grow_lf70( size_t buckets, size_t items ) { return float(items)/float(buckets) >= 0.85; @@ -509,12 +512,10 @@ class WXDLLIMPEXP_BASE wxPointerHash public: wxPointerHash() { } - // TODO: this might not work well on architectures with 64 bit pointers but - // 32 bit longs, we should use % ULONG_MAX there #if wxUSE_STL && defined(HAVE_STL_HASH_MAP) size_t operator()( const void* k ) const { return (size_t)k; } #else - unsigned long operator()( const void* k ) const { return (unsigned long)wxPtrToULong(k); } + wxUIntPtr operator()( const void* k ) const { return wxPtrToUInt(k); } #endif wxPointerHash& operator=(const wxPointerHash&) { return *this; }