StructureIterator Class Reference

#include <adskDataStructureIterator.h>

Class Description

Helper class for iterating over structure members.

Structure member storage will be done as efficiently as possible so this iterator should be used to provide a consistent access to all members defining the structure.

For technical reasons this class lives outside the Structure though really it should be part of it. A typedef is set up inside the Structure so that you can use it like a standard iterator:

for( Structure::iterator iterator = myStructure.begin(); iterator != myStructure.end(); ++iterator ) { processMember( *iterator ); }

+ Examples:

Public Member Functions

 StructureIterator ()
 Default constructor, don't use this version, it's just for STL.
 
 StructureIterator (const StructureIterator &)
 Copy constructor, used to facilitate begin()/end() interface. More...
 
bool valid () const
 Determine if the iterator is currently pointing to a valid Member. More...
 
unsigned int index () const
 Get the current index the structure iterator points to. More...
 

Static Public Member Functions

static bool Debug (const StructureIterator *me, Debug::Print &request)
 Answer a Print request for a StructureIterator object. More...
 
static bool Debug (const StructureIterator *me, Debug::Footprint &request)
 Answer a footprint request for a StructureIterator object. More...
 

Protected Member Functions

StructureIteratorImplimpl ()
 Implementation object access. More...
 
StructureIteratorImpl const & impl () const
 Const implementation object access. More...
 

Constructor & Destructor Documentation

Copy constructor, used to facilitate begin()/end() interface.

Parameters
[in]rhsIterator to be copied

Member Function Documentation

bool valid ( ) const

Determine if the iterator is currently pointing to a valid Member.

Returns
True if the iterator position is legal (i.e. not done)
unsigned int index ( ) const

Get the current index the structure iterator points to.

Returns
Index of the current member of the structure, kInvalidMemberif done
StructureIteratorImpl & impl ( )
protected

Implementation object access.

Returns
Reference to this class's implementation object
StructureIteratorImpl const & impl ( ) const
protected

Const implementation object access.

Returns
Const reference to this class's implementation object
bool Debug ( const StructureIterator me,
Debug::Print request 
)
static

Answer a Print request for a StructureIterator object.

Use the request object to dump all information on the "me" object or all static class information if "me" is NULL.

Parameters
[in]mePointer to object to debug, NULL means class static
[out]requestPrint request object
Returns
True if the request was successfully processed.
bool Debug ( const StructureIterator me,
Debug::Footprint request 
)
static

Answer a footprint request for a StructureIterator object.

Populate the Footprint request with the information on all data stored within this class if "me" is NULL, otherwise the information stored in the StructureIterator object pointed at by "me".

Parameters
[in]mePointer to object to footprint, NULL means class static
[out]requestFootprint object to populate
Returns
True if the request was successfully processed. The Footprint object will have all information added to it.

The documentation for this class was generated from the following files:
  • adskDataStructureIterator.h
  • adskDataStructureIterator.cpp