| ## Public API Reference

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

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# csNodeIterator Class Reference

A node iterator. More...

`#include <cstool/mapnode.h>`

List of all members.

## Public Member Functions
| csNodeIterator (iSector *pSector, const char *classname=0)
| The constructor.
bool | HasNext () const
| Check if there are other nodes.
iMapNode * | Next ()
| Move forward.
void | Reset (iSector *pSector, const char *classname=0)
| Reuse the iterator for an other search.
| ~csNodeIterator ()
| The destructor as usual.
## Protected Member Functions
void | NextNode ()
| Step to the next node in the sector, ignoring its classname.
void | SkipWrongClassname ()
| Skip all nodes with wrong classname.
## Protected Attributes
const char * | Classname
csRef< iMapNode > | CurrentNode
csRef< iObjectIterator > | Iterator

## Detailed Description

A node iterator.

Definition at line 76 of file mapnode.h.

## Constructor & Destructor Documentation

csNodeIterator::csNodeIterator | ( | iSector * | pSector,
|  | const char * | classname = `0` |
| ) |  |  |

The constructor.

Theorectially, we could handle any iObject, but that doesn't make sense for the current implementation, so we restrict it to iSector to avoid some pitfalls.

If a classname is given, search is restricted to nodes, in which the key "classname" has the same value as the given classname. the classname string is _not_ duplicated, so the caller is responsible to take care, that the string is available while the Iterator is alive.

csNodeIterator::~csNodeIterator | ( |  | ) |

The destructor as usual.

## Member Function Documentation

bool csNodeIterator::HasNext | ( |  | ) | const

Check if there are other nodes.

iMapNode* csNodeIterator::Next | ( |  | ) |

Move forward.

void csNodeIterator::NextNode | ( |  | ) | `[protected]`

Step to the next node in the sector, ignoring its classname.

void csNodeIterator::Reset | ( | iSector * | pSector,
|  | const char * | classname = `0` |
| ) |  |  |

Reuse the iterator for an other search.

void csNodeIterator::SkipWrongClassname | ( |  | ) | `[protected]`

Skip all nodes with wrong classname.

The documentation for this class was generated from the following file:

- cstool/mapnode.h