Implements a common base class for iterators for a unordered set. More...
#include <Containers_T.h>
Public Member Functions | |
int | next (T *&next_item) |
int | advance (void) |
int | first (void) |
int | done (void) const |
Returns 1 when all items have been seen, else 0. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Protected Member Functions | |
ACE_Fixed_Set_Iterator_Base (ACE_Fixed_Set< T, ACE_SIZE > &s) | |
void | dump_i (void) const |
Dump the state of an object. | |
int | next_i (T *&next_item) |
Protected Attributes | |
ACE_Fixed_Set< T, ACE_SIZE > & | s_ |
Set we are iterating over. | |
ssize_t | next_ |
How far we've advanced over the set. | |
size_t | iterated_items_ |
The number of non free items that the iterator had pointed at. |
Implements a common base class for iterators for a unordered set.
Definition at line 1256 of file Containers_T.h.
ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::ACE_Fixed_Set_Iterator_Base | ( | ACE_Fixed_Set< T, ACE_SIZE > & | s | ) | [protected] |
Definition at line 1056 of file Containers_T.cpp.
: s_ (s), next_ (-1), iterated_items_ (0) { ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::ACE_Fixed_Set_Iterator_Base"); this->advance (); }
int ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::advance | ( | void | ) |
Move forward by one element in the set. Returns 0 when all the items in the set have been seen, else 1.
Definition at line 1066 of file Containers_T.cpp.
{ ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::advance"); if (this->iterated_items_ < this->s_.cur_size_) { for (++this->next_; static_cast<size_t> (this->next_) < this->s_.max_size_; ++this->next_) if (this->s_.search_structure_[this->next_].is_free_ == 0) { ++this->iterated_items_; return 1; } } else ++this->next_; return 0; }
int ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 1098 of file Containers_T.cpp.
{ ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::done"); return ! (this->iterated_items_ < this->s_.cur_size_); }
void ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::dump_i | ( | void | ) | const [protected] |
Dump the state of an object.
Definition at line 1048 of file Containers_T.cpp.
{ #if defined (ACE_HAS_DUMP) ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::dump_i"); #endif /* ACE_HAS_DUMP */ }
int ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::first | ( | void | ) |
Move to the first element in the set. Returns 0 if the set is empty, else 1.
Definition at line 1088 of file Containers_T.cpp.
{ ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::first"); next_ = -1; iterated_items_ = 0; return this->advance (); }
int ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next | ( | T *& | next_item | ) |
Pass back the {next_item} that hasn't been seen in the Set. Returns 0 when all items have been seen, else 1.
Reimplemented in ACE_Fixed_Set_Iterator< T, ACE_SIZE >.
int ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next_i | ( | T *& | next_item | ) | [protected] |
Pass back the {next_item} that hasn't been seen in the Set. Returns 0 when all items have been seen, else 1.
Definition at line 1106 of file Containers_T.cpp.
{ ACE_TRACE ("ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE>::next_i"); if (static_cast<size_t> (this->next_) < this->s_.max_size_) do { if (this->s_.search_structure_[this->next_].is_free_ == 0) { item = &this->s_.search_structure_[this->next_].item_; this->advance (); return 1; } } while (this->advance () == 1); return 0; }
ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::ACE_ALLOC_HOOK_DECLARE |
Declare the dynamic allocation hooks.
Reimplemented in ACE_Fixed_Set_Iterator< T, ACE_SIZE >, and ACE_Fixed_Set_Const_Iterator< T, ACE_SIZE >.
Definition at line 1277 of file Containers_T.h.
size_t ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::iterated_items_ [protected] |
The number of non free items that the iterator had pointed at.
Definition at line 1290 of file Containers_T.h.
ssize_t ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next_ [protected] |
How far we've advanced over the set.
Definition at line 1287 of file Containers_T.h.
ACE_Fixed_Set<T, ACE_SIZE>& ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::s_ [protected] |
Set we are iterating over.
Definition at line 1284 of file Containers_T.h.