StructureIterator Class Reference

This reference page is linked to from the following overview topics: Meta Data.



Detailed 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 ); }

#include <adskDataStructureIterator.h>

List of all members.

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.
bool valid () const
 Determine if the iterator is currently pointing to a valid Member.
unsigned int index () const
 Get the current index the structure iterator points to.

Static Public Member Functions

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

Protected Member Functions

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

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.

StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator
StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator StructureIterator