#include <Containers_T.h>
Public Member Functions | |
ACE_Bounded_Set_Iterator (ACE_Bounded_Set< T > &s) | |
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. | |
void | dump (void) const |
Dump the state of an object. | |
Public Attributes | |
ACE_ALLOC_HOOK_DECLARE | |
Declare the dynamic allocation hooks. | |
Private Attributes | |
ACE_Bounded_Set< T > & | s_ |
Set we are iterating over. | |
ssize_t | next_ |
How far we've advanced over the set. |
This implementation of an unordered set uses a Bounded array. Allows deletions while iteration is occurring.
Definition at line 1470 of file Containers_T.h.
ACE_Bounded_Set_Iterator< T >::ACE_Bounded_Set_Iterator | ( | ACE_Bounded_Set< T > & | s | ) |
Definition at line 1392 of file Containers_T.cpp.
References ACE_TRACE, and ACE_Bounded_Set_Iterator< T >::advance().
01393 : s_ (s), 01394 next_ (-1) 01395 { 01396 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::ACE_Bounded_Set_Iterator"); 01397 this->advance (); 01398 }
int ACE_Bounded_Set_Iterator< T >::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 1401 of file Containers_T.cpp.
References ACE_TRACE, and ACE_Bounded_Set_Iterator< T >::next_.
Referenced by ACE_Bounded_Set_Iterator< T >::ACE_Bounded_Set_Iterator(), and ACE_Bounded_Set_Iterator< T >::first().
01402 { 01403 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::advance"); 01404 01405 for (++this->next_; 01406 static_cast<size_t> (this->next_) < this->s_.cur_size_ 01407 && this->s_.search_structure_[this->next_].is_free_; 01408 ++this->next_) 01409 continue; 01410 01411 return static_cast<size_t> (this->next_) < this->s_.cur_size_; 01412 }
int ACE_Bounded_Set_Iterator< T >::done | ( | void | ) | const |
Returns 1 when all items have been seen, else 0.
Definition at line 1424 of file Containers_T.cpp.
References ACE_TRACE, and ACE_Bounded_Set_Iterator< T >::next_.
01425 { 01426 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::done"); 01427 01428 return static_cast<ACE_CAST_CONST size_t> (this->next_) >= 01429 this->s_.cur_size_; 01430 }
void ACE_Bounded_Set_Iterator< T >::dump | ( | void | ) | const |
Dump the state of an object.
Definition at line 1384 of file Containers_T.cpp.
References ACE_TRACE.
01385 { 01386 #if defined (ACE_HAS_DUMP) 01387 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::dump"); 01388 #endif /* ACE_HAS_DUMP */ 01389 }
int ACE_Bounded_Set_Iterator< T >::first | ( | void | ) |
Move to the first element in the set. Returns 0 if the set is empty, else 1.
Definition at line 1415 of file Containers_T.cpp.
References ACE_TRACE, ACE_Bounded_Set_Iterator< T >::advance(), and ACE_Bounded_Set_Iterator< T >::next_.
01416 { 01417 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::first"); 01418 01419 next_ = -1; 01420 return this->advance (); 01421 }
int ACE_Bounded_Set_Iterator< T >::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.
Definition at line 1433 of file Containers_T.cpp.
References ACE_TRACE, ACE_Bounded_Set_Iterator< T >::next_, and ACE_Bounded_Set_Iterator< T >::s_.
01434 { 01435 ACE_TRACE ("ACE_Bounded_Set_Iterator<T>::next"); 01436 if (static_cast<size_t> (this->next_) < this->s_.cur_size_) 01437 { 01438 item = &this->s_.search_structure_[this->next_].item_; 01439 return 1; 01440 } 01441 else 01442 return 0; 01443 }
ACE_Bounded_Set_Iterator< T >::ACE_ALLOC_HOOK_DECLARE |
ssize_t ACE_Bounded_Set_Iterator< T >::next_ [private] |
How far we've advanced over the set.
Definition at line 1504 of file Containers_T.h.
Referenced by ACE_Bounded_Set_Iterator< T >::advance(), ACE_Bounded_Set_Iterator< T >::done(), ACE_Bounded_Set_Iterator< T >::first(), and ACE_Bounded_Set_Iterator< T >::next().
ACE_Bounded_Set<T>& ACE_Bounded_Set_Iterator< T >::s_ [private] |
Set we are iterating over.
Definition at line 1501 of file Containers_T.h.
Referenced by ACE_Bounded_Set_Iterator< T >::next().