]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/hashmap.h
Add FindLength()
[wxWidgets.git] / include / wx / hashmap.h
index 97e0456013db30ba3bb5cabf4e22f8780a68dbfc..abcd5c36c9af5aed6878df3c1ed3dddfb9c7a565 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        hashmap.h
+// Name:        wx/hashmap.h
 // Purpose:     wxHashMap class
 // Author:      Mattia Barbon
 // Modified by:
@@ -202,6 +202,7 @@ public: \
     { \
     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; } \
@@ -344,8 +345,8 @@ protected: \
         { \
             if( m_equals( m_getKey( (*node)->m_value ), key ) ) \
                 return node; \
-            /* Tell the compiler to not do any strict-aliasing assumptions with the void cast */ \
-            node = (Node**)(void*)&(*node)->m_nxt; \
+            /* 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; \
         } \
  \
         return NULL; \
@@ -640,7 +641,10 @@ public: \
  \
     /* 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)
@@ -704,4 +708,3 @@ WX_DECLARE_HASH_MAP_WITH_DECL( long, long, wxIntegerHash, wxIntegerEqual,
 
 
 #endif // _WX_HASHMAP_H_
-