]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/hashmap.h
Rename wxSTREAM_FILEEXTENSION to wxSTREAM_FILEEXT.
[wxWidgets.git] / include / wx / hashmap.h
index f068d6d93b9837186b3e0853839ec87983bf8f40..abcd5c36c9af5aed6878df3c1ed3dddfb9c7a565 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        hashmap.h
+// Name:        wx/hashmap.h
 // Purpose:     wxHashMap class
 // Author:      Mattia Barbon
 // Modified by:
 // Purpose:     wxHashMap class
 // Author:      Mattia Barbon
 // Modified by:
@@ -34,7 +34,7 @@
 #endif
 
 #define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
 #endif
 
 #define _WX_DECLARE_HASH_MAP( KEY_T, VALUE_T, HASH_T, KEY_EQ_T, CLASSNAME, CLASSEXP ) \
-    typedef WX_HASH_MAP_NAMESPACE::hash_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME;
+    typedef WX_HASH_MAP_NAMESPACE::hash_map< KEY_T, VALUE_T, HASH_T, KEY_EQ_T > CLASSNAME
 
 #else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
 
 
 #else // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
 
@@ -202,6 +202,7 @@ public: \
     { \
     public: \
         const_iterator() : Iterator() {} \
     { \
     public: \
         const_iterator() : Iterator() {} \
+        const_iterator(iterator i) : Iterator(i) {} \
         const_iterator( Node* node, const Self* ht ) \
             : Iterator( node, (Self*)ht ) {} \
         const_iterator& operator++() { PlusPlus();return *this; } \
         const_iterator( Node* node, const Self* ht ) \
             : Iterator( node, (Self*)ht ) {} \
         const_iterator& operator++() { PlusPlus();return *this; } \
@@ -344,10 +345,11 @@ protected: \
         { \
             if( m_equals( m_getKey( (*node)->m_value ), key ) ) \
                 return node; \
         { \
             if( m_equals( m_getKey( (*node)->m_value ), key ) ) \
                 return node; \
+            /* Tell the compiler to not do any strict-aliasing assumptions with a void cast? Can we make such a runtime guarantee? */ \
             node = (Node**)&(*node)->m_nxt; \
         } \
  \
             node = (Node**)&(*node)->m_nxt; \
         } \
  \
-        return 0; \
+        return NULL; \
     } \
  \
     /* returns NULL if not found */ \
     } \
  \
     /* returns NULL if not found */ \
@@ -639,8 +641,11 @@ public: \
  \
     /* count() == 0 | 1 */ \
     size_type count( const const_key_type& key ) \
  \
     /* count() == 0 | 1 */ \
     size_type count( const const_key_type& key ) \
-        { return GetNode( key ) ? 1 : 0; } \
-};
+    { \
+        /* explicit cast needed to suppress CodeWarrior warnings */ \
+        return (size_type)(GetNode( key ) ? 1 : 0); \
+    } \
+}
 
 #endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
 
 
 #endif // !wxUSE_STL || !defined(HAVE_STL_HASH_MAP)
 
@@ -699,8 +704,7 @@ public: \
 // Declarations of common hashmap classes
 
 WX_DECLARE_HASH_MAP_WITH_DECL( long, long, wxIntegerHash, wxIntegerEqual,
 // Declarations of common hashmap classes
 
 WX_DECLARE_HASH_MAP_WITH_DECL( long, long, wxIntegerHash, wxIntegerEqual,
-                               wxLongToLongHashMap, class WXDLLIMPEXP_BASE )
+                               wxLongToLongHashMap, class WXDLLIMPEXP_BASE );
 
 
 #endif // _WX_HASHMAP_H_
 
 
 #endif // _WX_HASHMAP_H_
-