Salome HOME
PR: merge from branch BR_UnitTests tag mergeto_trunk_17oct05
[modules/kernel.git] / src / SALOMEDSImpl / SALOMEDSImpl_ChildNodeIterator.hxx
1
2 #ifndef _SALOMEDSImpl_ChildNodeIterator_HeaderFile
3 #define _SALOMEDSImpl_ChildNodeIterator_HeaderFile
4
5 #ifndef _Standard_Integer_HeaderFile
6 #include <Standard_Integer.hxx>
7 #endif
8 #ifndef _Standard_Boolean_HeaderFile
9 #include <Standard_Boolean.hxx>
10 #endif
11
12 #include "SALOMEDSImpl_AttributeTreeNode.hxx"
13
14
15 #ifndef _Standard_HeaderFile
16 #include <Standard.hxx>
17 #endif
18 #ifndef _Standard_Macro_HeaderFile
19 #include <Standard_Macro.hxx>
20 #endif
21
22 class SALOMEDSImpl_ChildNodeIterator  
23 {
24
25 public:
26
27 Standard_EXPORT SALOMEDSImpl_ChildNodeIterator();
28 Standard_EXPORT SALOMEDSImpl_ChildNodeIterator(const Handle(SALOMEDSImpl_AttributeTreeNode)& aTreeNode,
29                                                const Standard_Boolean allLevels = Standard_False);
30 Standard_EXPORT void Initialize(const Handle(SALOMEDSImpl_AttributeTreeNode)& aTreeNode,
31                                 const Standard_Boolean allLevels = Standard_False) ;
32 Standard_EXPORT Standard_Boolean More() const { return !myNode.IsNull(); }
33 Standard_EXPORT void Next() ;
34 Standard_EXPORT void NextBrother() ;
35 Standard_EXPORT Handle_SALOMEDSImpl_AttributeTreeNode Value() const { return myNode; }
36
37 private: 
38
39 Handle_SALOMEDSImpl_AttributeTreeNode myNode;
40 Standard_Integer myFirstLevel;
41
42 };
43
44
45 #endif