ACE_Registry::Binding_Iterator Class Reference

An iterator. More...

#include <Registry.h>

Collaboration diagram for ACE_Registry::Binding_Iterator:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Binding_Iterator (void)
 Default constructor.

int next_one (Binding &binding)
 Next entry.

int next_n (u_long how_many, Binding_List &list)
 Next entries.

int destroy (void)
 Cleanup.

void reset (void)
 Reset the internal state of the iterator.

Naming_Contextnaming_context (void)
 Get naming_context that the iterator is iterating over.


Private Member Functions

void naming_context (Naming_Context &naming_context)
 Set naming_context that the iterator is iterating over.

void current_enumeration (Iteration_State &current_enumeration)
 Set current_enumeration.

Iteration_Statecurrent_enumeration (void)
 Get current_enumeration.


Private Attributes

Naming_Contextnaming_context_
 Reference to context.

Object_Iteration object_iteration_
 Instances of all states.

Context_Iteration context_iteration_
Iteration_Complete iteration_complete_
Iteration_Statecurrent_enumeration_
 Pointer to current state.


Friends

class Naming_Context
 Friend factory.

class Iteration_State
 Friend states.

class Object_Iteration
class Context_Iteration
class Iteration_Complete

Detailed Description

An iterator.

Useful when iteratorating over a few entries at a time

Definition at line 417 of file Registry.h.


Constructor & Destructor Documentation

ACE_Registry::Binding_Iterator::Binding_Iterator void   ) 
 

Default constructor.

Definition at line 816 of file Registry.cpp.

References reset().

00817   : object_iteration_ (*this),
00818     context_iteration_ (*this),
00819     iteration_complete_ (*this)
00820 {
00821   this->reset ();
00822 }


Member Function Documentation

ACE_Registry::Binding_Iterator::Iteration_State & ACE_Registry::Binding_Iterator::current_enumeration void   )  [private]
 

Get current_enumeration.

Definition at line 932 of file Registry.cpp.

References current_enumeration_.

00933 {
00934   return *this->current_enumeration_;
00935 }

void ACE_Registry::Binding_Iterator::current_enumeration Iteration_State current_enumeration  )  [private]
 

Set current_enumeration.

Definition at line 925 of file Registry.cpp.

References current_enumeration_.

Referenced by ACE_Registry::Naming_Context::list(), ACE_Registry::Binding_Iterator::Context_Iteration::next_n(), and ACE_Registry::Binding_Iterator::Object_Iteration::next_n().

00926 {
00927   this->current_enumeration_ = &current_enumeration;
00928 }

int ACE_Registry::Binding_Iterator::destroy void   ) 
 

Cleanup.

Definition at line 901 of file Registry.cpp.

References reset().

00902 {
00903   this->reset ();
00904   return 0;
00905 }

void ACE_Registry::Binding_Iterator::naming_context Naming_Context naming_context  )  [private]
 

Set naming_context that the iterator is iterating over.

Definition at line 910 of file Registry.cpp.

References naming_context_.

00911 {
00912   this->naming_context_ = &naming_context;
00913 }

ACE_Registry::Naming_Context & ACE_Registry::Binding_Iterator::naming_context void   ) 
 

Get naming_context that the iterator is iterating over.

Definition at line 917 of file Registry.cpp.

References naming_context_.

Referenced by ACE_Registry::Naming_Context::list().

00918 {
00919   return *this->naming_context_;
00920 }

int ACE_Registry::Binding_Iterator::next_n u_long  how_many,
Binding_List list
 

Next entries.

Definition at line 887 of file Registry.cpp.

References ACE_Registry::Binding_List, current_enumeration_, and ACE_Registry::Binding_Iterator::Iteration_State::next_n().

Referenced by ACE_Registry::Naming_Context::list(), and next_one().

00889 {
00890   // Empty list
00891   static const ACE_Registry::Binding_List empty_list;
00892   // Make sure that the list is empty
00893   list = empty_list;
00894 
00895   return this->current_enumeration_->next_n (how_many, list);
00896 }

int ACE_Registry::Binding_Iterator::next_one Binding binding  ) 
 

Next entry.

Definition at line 869 of file Registry.cpp.

References ACE_Unbounded_Set< T >::begin(), ACE_Registry::Binding_List, and next_n().

Referenced by ACE_Registry::Naming_Context::list().

00870 {
00871   u_long how_many = 1;
00872   Binding_List list;
00873 
00874   // Get next n (where n is one)
00875   long result = this->next_n (how_many, list);
00876 
00877   if (result == 0)
00878     // Success
00879     binding = (*list.begin ());
00880 
00881   return result;
00882 }

void ACE_Registry::Binding_Iterator::reset void   ) 
 

Reset the internal state of the iterator.

Definition at line 826 of file Registry.cpp.

References context_iteration_, current_enumeration_, iteration_complete_, object_iteration_, and ACE_Registry::Binding_Iterator::Iteration_State::reset().

Referenced by Binding_Iterator(), destroy(), and ACE_Registry::Naming_Context::list().

00827 {
00828   this->current_enumeration_ = &this->iteration_complete_;
00829   this->iteration_complete_.reset ();
00830   this->object_iteration_.reset ();
00831   this->context_iteration_.reset ();
00832 }


Friends And Related Function Documentation

friend class Context_Iteration [friend]
 

Definition at line 513 of file Registry.h.

friend class Iteration_Complete [friend]
 

Definition at line 514 of file Registry.h.

friend class Iteration_State [friend]
 

Friend states.

Definition at line 511 of file Registry.h.

friend class Naming_Context [friend]
 

Friend factory.

Definition at line 421 of file Registry.h.

friend class Object_Iteration [friend]
 

Definition at line 512 of file Registry.h.


Member Data Documentation

Context_Iteration ACE_Registry::Binding_Iterator::context_iteration_ [private]
 

Definition at line 518 of file Registry.h.

Referenced by reset().

Iteration_State* ACE_Registry::Binding_Iterator::current_enumeration_ [private]
 

Pointer to current state.

Definition at line 522 of file Registry.h.

Referenced by current_enumeration(), next_n(), and reset().

Iteration_Complete ACE_Registry::Binding_Iterator::iteration_complete_ [private]
 

Definition at line 519 of file Registry.h.

Referenced by reset().

Naming_Context* ACE_Registry::Binding_Iterator::naming_context_ [private]
 

Reference to context.

Definition at line 448 of file Registry.h.

Referenced by naming_context().

Object_Iteration ACE_Registry::Binding_Iterator::object_iteration_ [private]
 

Instances of all states.

Definition at line 517 of file Registry.h.

Referenced by ACE_Registry::Naming_Context::list(), and reset().


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