\
Iterator() : m_node(NULL), m_ht(NULL) {} \
Iterator( Node* node, const Self* ht ) \
\
Iterator() : m_node(NULL), m_ht(NULL) {} \
Iterator( Node* node, const Self* ht ) \
bool operator ==( const Iterator& it ) const \
{ return m_node == it.m_node; } \
bool operator !=( const Iterator& it ) const \
bool operator ==( const Iterator& it ) const \
{ return m_node == it.m_node; } \
bool operator !=( const Iterator& it ) const \
const_iterator() : Iterator() {} \
const_iterator(iterator i) : Iterator(i) {} \
const_iterator( Node* node, const Self* ht ) \
const_iterator() : Iterator() {} \
const_iterator(iterator i) : Iterator(i) {} \
const_iterator( Node* node, const Self* ht ) \
const_iterator& operator++() { PlusPlus();return *this; } \
const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } \
const_reference operator *() const { return m_node->m_value; } \
const_iterator& operator++() { PlusPlus();return *this; } \
const_iterator operator++(int) { const_iterator it=*this;PlusPlus();return it; } \
const_reference operator *() const { return m_node->m_value; } \
const_iterator end() const { return const_iterator(NULL, this); } \
iterator end() { return iterator(NULL, this); } \
const_iterator begin() const \
const_iterator end() const { return const_iterator(NULL, this); } \
iterator end() { return iterator(NULL, this); } \
const_iterator begin() const \
- { return const_iterator(wx_static_cast(Node*, GetFirstNode(m_tableBuckets, m_table)), this); } \
+ { return const_iterator(static_cast<Node*>(GetFirstNode(m_tableBuckets, m_table)), this); } \
- { return iterator(wx_static_cast(Node*, GetFirstNode(m_tableBuckets, m_table)), this); } \
+ { return iterator(static_cast<Node*>(GetFirstNode(m_tableBuckets, m_table)), this); } \
(*node) = temp; \
if( SHOULD_SHRINK( m_tableBuckets, m_items ) ) \
ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); \
(*node) = temp; \
if( SHOULD_SHRINK( m_tableBuckets, m_items ) ) \
ResizeTable( GetPreviousPrime( (unsigned long) m_tableBuckets ) - 1 ); \
Node* GetNode( const const_key_type& key ) const \
{ \
size_t bucket = m_hasher( key ) % m_tableBuckets; \
Node* GetNode( const const_key_type& key ) const \
{ \
size_t bucket = m_hasher( key ) % m_tableBuckets; \
typedef const VALUE_T const_t2; \
\
CLASSNAME(const const_t1& f, const const_t2& s) \
typedef const VALUE_T const_t2; \
\
CLASSNAME(const const_t1& f, const const_t2& s) \
unsigned long operator()( short x ) const { return (unsigned long)x; }
unsigned long operator()( unsigned short x ) const { return x; }
#if defined wxLongLong_t && !defined wxLongLongIsLong
unsigned long operator()( short x ) const { return (unsigned long)x; }
unsigned long operator()( unsigned short x ) const { return x; }
#if defined wxLongLong_t && !defined wxLongLongIsLong