ACE_Fixed_Set_Iterator< T, ACE_SIZE > Class Template Reference

Iterates through an unordered set. More...

#include <Containers_T.h>

Inheritance diagram for ACE_Fixed_Set_Iterator< T, ACE_SIZE >:

Inheritance graph
[legend]
Collaboration diagram for ACE_Fixed_Set_Iterator< T, ACE_SIZE >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Fixed_Set_Iterator (ACE_Fixed_Set< T, ACE_SIZE > &s)
int next (T *&next_item)
void dump (void) const
 Dump the state of an object.
int remove (T *&item)
T & operator * (void)

Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.

Detailed Description

template<class T, size_t ACE_SIZE>
class ACE_Fixed_Set_Iterator< T, ACE_SIZE >

Iterates through an unordered set.

This implementation of an unordered set uses a fixed array. Allows deletions while iteration is occurring.

Definition at line 1260 of file Containers_T.h.


Constructor & Destructor Documentation

template<class T, size_t ACE_SIZE>
ACE_Fixed_Set_Iterator< T, ACE_SIZE >::ACE_Fixed_Set_Iterator ( ACE_Fixed_Set< T, ACE_SIZE > &  s  ) 

Definition at line 1135 of file Containers_T.cpp.

References ACE_TRACE.

01136   : ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE> (s)
01137 {
01138   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::ACE_Fixed_Set_Iterator");
01139 }


Member Function Documentation

template<class T, size_t ACE_SIZE>
void ACE_Fixed_Set_Iterator< T, ACE_SIZE >::dump ( void   )  const

Dump the state of an object.

Definition at line 1127 of file Containers_T.cpp.

References ACE_Double_Linked_List_Iterator_Base< T >::dump_i().

01128 {
01129 #if defined (ACE_HAS_DUMP)
01130   this->dump_i ();
01131 #endif /* ACE_HAS_DUMP */
01132 }

template<class T, size_t ACE_SIZE>
int ACE_Fixed_Set_Iterator< 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 from ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >.

Definition at line 1142 of file Containers_T.cpp.

References ACE_TRACE, and ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next_i().

Referenced by ACE_Sig_Handlers::dispatch(), ACE_Sig_Handlers::handler(), and ACE_Sig_Handlers::remove_handler().

01143 {
01144   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::next");
01145   return this->next_i (item);
01146 }

template<class T, size_t ACE_SIZE>
T & ACE_Fixed_Set_Iterator< T, ACE_SIZE >::operator * ( void   ) 

STL-like iterator dereference operator: returns a reference to the node underneath the iterator.

Definition at line 1165 of file Containers_T.cpp.

References ACE_ASSERT, ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next_, and ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::s_.

01166 {
01167   T *retv = 0;
01168 
01169   if (this->s_.search_structure_[this->next_].is_free_ == 0)
01170     retv = &this->s_.search_structure_[this->next_].item_;
01171 
01172   ACE_ASSERT (retv != 0);
01173 
01174   return *retv;
01175 }

template<class T, size_t ACE_SIZE>
int ACE_Fixed_Set_Iterator< T, ACE_SIZE >::remove ( T *&  item  ) 

Remove the item where the itearetor is located at. Returns 1 if it removes a item, else 0. Pass back the removed {item}.

Definition at line 1149 of file Containers_T.cpp.

References ACE_TRACE, ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::iterated_items_, ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::next_, and ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::s_.

01150 {
01151   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::remove");
01152 
01153   if (this->s_.search_structure_[this->next_].is_free_ == 0)
01154     {
01155       item = &this->s_.search_structure_[this->next_].item_;
01156       this->s_.remove (*item);
01157       --(this->iterated_items_);
01158       return 1;
01159     }
01160 
01161   return 0;
01162 }


Member Data Documentation

template<class T, size_t ACE_SIZE>
ACE_Fixed_Set_Iterator< T, ACE_SIZE >::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

Reimplemented from ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >.

Definition at line 1285 of file Containers_T.h.


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:08 2010 for ACE by  doxygen 1.4.7