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 1262 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 1139 of file Containers_T.cpp.

References ACE_TRACE.

01140   : ACE_Fixed_Set_Iterator_Base<T, ACE_SIZE> (s)
01141 {
01142   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::ACE_Fixed_Set_Iterator");
01143 }


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 1131 of file Containers_T.cpp.

References ACE_Fixed_Set_Iterator_Base< T, ACE_SIZE >::dump_i().

01132 {
01133 #if defined (ACE_HAS_DUMP)
01134   this->dump_i ();
01135 #endif /* ACE_HAS_DUMP */
01136 }

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 1146 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().

01147 {
01148   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::next");
01149   return this->next_i (item);
01150 }

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 1169 of file Containers_T.cpp.

References ACE_ASSERT.

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

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 1153 of file Containers_T.cpp.

References ACE_TRACE.

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


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 1287 of file Containers_T.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:22:21 2006 for ACE by doxygen 1.3.6