Public Member Functions | Public Attributes

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

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


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

{
#if defined (ACE_HAS_DUMP)
  this->dump_i ();
#endif /* ACE_HAS_DUMP */
}

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

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

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

{
  T *retv = 0;

  if (this->s_.search_structure_[this->next_].is_free_ == 0)
    retv = &this->s_.search_structure_[this->next_].item_;

  ACE_ASSERT (retv != 0);

  return *retv;
}

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

{
  ACE_TRACE ("ACE_Fixed_Set_Iterator<T, ACE_SIZE>::remove");

  if (this->s_.search_structure_[this->next_].is_free_ == 0)
    {
      item = &this->s_.search_structure_[this->next_].item_;
      this->s_.remove (*item);
      --(this->iterated_items_);
      return 1;
    }

  return 0;
}


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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines