Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Fixed_Set_Iterator Class Template Reference

Iterates through an unordered set. More...

#include <Containers_T.h>

Collaboration diagram for ACE_Fixed_Set_Iterator:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Fixed_Set_Iterator (ACE_Fixed_Set< T, ACE_SIZE > &s)
int 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. More...

int advance (void)
 Move forward by one element in the set. Returns 0 when all the items in the set have been seen, else 1. More...

int first (void)
 Move to the first element in the set. Returns 0 if the set is empty, else 1. More...

int done (void) const
 Returns 1 when all items have been seen, else 0. More...

void dump (void) const
 Dump the state of an object. More...


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks. More...


Private Attributes

ACE_Fixed_Set< T, ACE_SIZE > & s_
 Set we are iterating over. More...

ssize_t next_
 How far we've advanced over the set. More...


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

References ACE_TRACE, and advance.

01053   : s_ (s),
01054     next_ (-1)
01055 {
01056   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::ACE_Fixed_Set_Iterator");
01057   this->advance ();
01058 }


Member Function Documentation

template<class T, size_t ACE_SIZE>
int ACE_Fixed_Set_Iterator< 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 1061 of file Containers_T.cpp.

References ACE_TRACE, next_, and s_.

Referenced by ACE_Fixed_Set_Iterator, ACE_Sig_Handlers::dispatch, first, and ACE_Sig_Handlers::remove_handler.

01062 {
01063   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::advance");
01064 
01065   for (++this->next_;
01066        ACE_static_cast(size_t, this->next_) < this->s_.cur_size_
01067          && this->s_.search_structure_[this->next_].is_free_;
01068        ++this->next_)
01069     continue;
01070 
01071   return ACE_static_cast(size_t, this->next_) < this->s_.cur_size_;
01072 }

template<class T, size_t ACE_SIZE>
int ACE_Fixed_Set_Iterator< T, ACE_SIZE >::done void    const
 

Returns 1 when all items have been seen, else 0.

Definition at line 1084 of file Containers_T.cpp.

References ACE_TRACE, and s_.

01085 {
01086   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::done");
01087 
01088   return ACE_static_cast (ACE_CAST_CONST size_t, this->next_) >=
01089     this->s_.cur_size_;
01090 }

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

References ACE_TRACE.

01047 {
01048   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::dump");
01049 }

template<class T, size_t ACE_SIZE>
int ACE_Fixed_Set_Iterator< 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 1075 of file Containers_T.cpp.

References ACE_TRACE, advance, and next_.

01076 {
01077   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::first");
01078 
01079   next_ = -1;
01080   return this->advance ();
01081 }

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.

Definition at line 1093 of file Containers_T.cpp.

References ACE_TRACE, next_, and s_.

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

01094 {
01095   ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::next");
01096   if (ACE_static_cast (size_t, this->next_) < this->s_.cur_size_)
01097     {
01098       item = &this->s_.search_structure_[this->next_].item_;
01099       return 1;
01100     }
01101   else
01102     return 0;
01103 }


Member Data Documentation

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

Declare the dynamic allocation hooks.

Definition at line 1237 of file Containers_T.h.

template<class T, size_t ACE_SIZE>
ssize_t ACE_Fixed_Set_Iterator::next_ [private]
 

How far we've advanced over the set.

Definition at line 1244 of file Containers_T.h.

Referenced by advance, first, and next.

template<class T, size_t ACE_SIZE>
ACE_Fixed_Set<T, ACE_SIZE>& ACE_Fixed_Set_Iterator::s_ [private]
 

Set we are iterating over.

Definition at line 1241 of file Containers_T.h.

Referenced by advance, done, and next.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:48:00 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002