![]() |
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.