]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/hashmap.h
Compile corrections
[wxWidgets.git] / include / wx / hashmap.h
index 97e0456013db30ba3bb5cabf4e22f8780a68dbfc..b6ff1455e2ddaec6ab3bdc9da6188447a92685d7 100644 (file)
@@ -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)