#include <Hash_Map_Manager_T.h>
Public Member Functions | |
ACE_Hash_Map_Bucket_Iterator (ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > &mm, const EXT_ID &ext_id, int tail=0) | |
ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > & | operator++ (void) |
Prefix advance. | |
ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > | operator++ (int) |
Postfix advance. | |
ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > & | operator-- (void) |
Prefix reverse. | |
ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > | operator-- (int) |
Postfix reverse. | |
ACE_Hash_Map_Entry< EXT_ID, INT_ID > & | operator * (void) const |
Returns a reference to the interal element is pointing to. | |
ACE_Hash_Map_Entry< EXT_ID, INT_ID > * | operator-> (void) const |
Returns a pointer to the interal element is pointing to. | |
ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > & | map (void) |
bool | operator== (const ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > &) const |
Check if two iterators point to the same position. | |
bool | operator!= (const ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > &) const |
Protected Member Functions | |
int | forward_i (void) |
int | reverse_i (void) |
Protected Attributes | |
ACE_Hash_Map_Manager_Ex< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK > * | map_man_ |
Map we are iterating over. | |
ssize_t | index_ |
Keeps track of how far we've advanced in the table. | |
ACE_Hash_Map_Entry< EXT_ID, INT_ID > * | next_ |
This class does not perform any internal locking of the it is iterating upon since locking is inherently inefficient and/or error-prone within an STL-style iterator. If you require locking, you can explicitly use an ACE_Guard or ACE_Read_Guard on the 's internal lock, which is accessible via its method.
Note that a creation method for this new iterator cannot be added to the hash map, since this would require adding explicit template instantiations for bucket iterators on platforms with broken templates.
Definition at line 776 of file Hash_Map_Manager_T.h.
|
Definition at line 738 of file Hash_Map_Manager_T.inl. References ACE_TRACE, and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::forward_i().
00741 : map_man_ (&mm) 00742 { 00743 ACE_TRACE ("ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::ACE_Hash_Map_Bucket_Iterator"); 00744 00745 this->index_ = this->map_man_->hash (ext_id) % this->map_man_->total_size_; 00746 this->next_ = &this->map_man_->table_[this->index_]; 00747 00748 if (tail == 0) 00749 this->forward_i (); 00750 } |
|
Move forward by one element in the set. Returns 0 when there's no more item in the set after the current items, else 1. Definition at line 795 of file Hash_Map_Manager_T.inl. References ACE_TRACE. Referenced by ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::ACE_Hash_Map_Bucket_Iterator(), and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator++().
|
|
Returns reference the Hash_Map_Manager_Ex that is being iterated over. Definition at line 832 of file Hash_Map_Manager_T.inl. References ACE_TRACE.
|
|
Returns a reference to the interal element is pointing to.
Definition at line 814 of file Hash_Map_Manager_T.inl. References ACE_TRACE.
|
|
|
Postfix advance.
Definition at line 764 of file Hash_Map_Manager_T.inl. References ACE_TRACE.
00765 { 00766 ACE_TRACE ("ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator++ (int)"); 00767 00768 ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this); 00769 ++*this; 00770 return retv; 00771 } |
|
Prefix advance.
Definition at line 754 of file Hash_Map_Manager_T.inl. References ACE_TRACE, and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::forward_i().
|
|
Postfix reverse.
Definition at line 785 of file Hash_Map_Manager_T.inl. References ACE_TRACE.
00786 { 00787 ACE_TRACE ("ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK>::operator-- (int)"); 00788 00789 ACE_Hash_Map_Bucket_Iterator<EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK> retv (*this); 00790 --*this; 00791 return retv; 00792 } |
|
Prefix reverse.
Definition at line 775 of file Hash_Map_Manager_T.inl. References ACE_TRACE, and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::reverse_i().
|
|
Returns a pointer to the interal element is pointing to.
Definition at line 823 of file Hash_Map_Manager_T.inl. References ACE_TRACE.
|
|
Check if two iterators point to the same position.
Definition at line 839 of file Hash_Map_Manager_T.inl. References ACE_TRACE, ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::index_, ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::map_man_, and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::next_.
|
|
Move backward by one element in the set. Returns 0 when there's no more item in the set before the current item, else 1. Definition at line 804 of file Hash_Map_Manager_T.inl. References ACE_TRACE. Referenced by ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator--().
|
|
Keeps track of how far we've advanced in the table.
Definition at line 825 of file Hash_Map_Manager_T.h. Referenced by ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator!=(), and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator==(). |
|
Map we are iterating over.
Definition at line 822 of file Hash_Map_Manager_T.h. Referenced by ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator!=(), and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator==(). |
|
Keeps track of how far we've advanced in a linked list in each table slot. Definition at line 829 of file Hash_Map_Manager_T.h. Referenced by ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator!=(), and ACE_Hash_Map_Bucket_Iterator< EXT_ID, INT_ID, HASH_KEY, COMPARE_KEYS, ACE_LOCK >::operator==(). |