1 #ifndef DFCHILDITERATOR_HXX
2 #define DFCHILDITERATOR_HXX
4 #include "DF_definitions.hxx"
5 #include "DF_Label.hxx"
9 //Class DF_ChildIterator is used to iterate a tree of Labels in the Document
10 class DF_ChildIterator {
13 Standard_EXPORT DF_ChildIterator(const DF_Label& theLabel, bool allLevels = false);
15 Standard_EXPORT DF_ChildIterator();
17 Standard_EXPORT ~DF_ChildIterator();
19 //Initializes the iterator, if allLevels is true the iterator before iterating the next
20 //brother of the current Label iterates the Label children
21 Standard_EXPORT void Init(const DF_Label& theLabel, bool allLevels = false);
23 //Returns a current Label
24 Standard_EXPORT DF_Label Value();
26 //Returns true if there is a current Label
27 Standard_EXPORT bool More();
29 //Moves to the next Label
30 Standard_EXPORT void Next();
34 DF_LabelNode* _current;