![]() |
Public API Reference |
![]() |
A node iterator. More...
#include <cstool/mapnode.h>
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. |
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.
The destructor as usual.
bool csNodeIterator::HasNext | ( | ) | const |
Check if there are other nodes.
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.