blob: b45fa42d1cab1ec88db5c8011612d21e16e5746c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
// File: TDF_AttributeIterator.hxx
// -------------------------
// Author: DAUTRY Philippe
// <fid@fox.paris1.matra-dtv.fr>
// Copyright: Matra Datavision 1998
// Version: 0.0
// History: Version Date Purpose
// 0.0 Feb 16 1998 Creation
#ifndef _TDF_Attribute_HeaderFile
#include <TDF_Attribute.hxx>
#endif
#ifndef _TDF_Label_HeaderFile
#include <TDF_Label.hxx>
#endif
#ifndef TDF_AttributeIterator_HeaderFile
#define TDF_AttributeIterator_HeaderFile
#ifndef _Handle_TDF_Attribute_HeaderFile
#include <Handle_TDF_Attribute.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _TDF_LabelNodePtr_HeaderFile
#include <TDF_LabelNodePtr.hxx>
#endif
class TDF_Attribute;
class TDF_Label;
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif
// This class provides a way to iterates on the
// up-to-date (current) valid attributes of a label.
//
// Even a Forgotten attribute may be found if this
// option is set. To use this possibility, look at
// the constructor.
//
// Sorry: nobody needs this iterator but its friends!
class TDF_AttributeIterator {
public:
// Methods PUBLIC
//
Standard_EXPORT TDF_AttributeIterator();
Standard_EXPORT TDF_AttributeIterator
(const TDF_Label& aLabel,
const Standard_Boolean withoutForgotten = Standard_True);
Standard_EXPORT TDF_AttributeIterator
(const TDF_LabelNodePtr aLabelNode,
const Standard_Boolean withoutForgotten = Standard_True);
Standard_EXPORT void Initialize
(const TDF_Label& aLabel,
const Standard_Boolean withoutForgotten = Standard_True) ;
inline Standard_Boolean More() const;
Standard_EXPORT void Next() ;
inline TDF_Attribute * Value() const;
protected:
// Methods PROTECTED
//
// Fields PROTECTED
//
private:
// Methods PRIVATE
//
void goToNext (const Handle(TDF_Attribute)& anAttr);
// Fields PRIVATE
//
TDF_Attribute * myValue;
Standard_Boolean myWithoutForgotten;
};
// other inline functions and methods (like "C++: function call" methods)
//
inline Standard_Boolean TDF_AttributeIterator::More() const
{ return (myValue != 0L); }
inline TDF_Attribute * TDF_AttributeIterator::Value() const
{ return myValue; }
#endif
|