- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Examples

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Member Functions

# StructureIterator Class Reference

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

Search for all occurrences

## 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

StructureIterator | ( | const StructureIterator & | rhs | ) |

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

Parameters:

  [in] | rhs | Iterator to be copied

## Member Function Documentation

bool valid | ( |  | ) | const

Search for all occurrences

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

Search for all occurrences

Get the current index the structure iterator points to.

Returns:
  Index of the current member of the structure, kInvalidMemberif done

StructureIteratorImpl & impl | ( |  | ) | `[protected]`

Search for all occurrences

Implementation object access.

Returns:
  Reference to this class's implementation object

StructureIteratorImpl const & impl | ( |  | ) | const`[protected]`

Search for all occurrences

Const implementation object access.

Returns:
  Const reference to this class's implementation object

bool Debug | ( | const StructureIterator * | me,
|  | Debug::Print & | request
| ) |  | `[static]`

Search for all occurrences

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] | me | Pointer to object to debug, NULL means class static
  [out] | request | Print request object

Returns:
  True if the request was successfully processed.

bool Debug | ( | const StructureIterator * | me,
|  | Debug::Footprint & | request
| ) |  | `[static]`

Search for all occurrences

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] | me | Pointer to object to footprint, NULL means class static
  [out] | request | Footprint 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