Salome HOME
Join modifications from BR_Dev_For_4_0 tag V4_1_1.
[modules/geom.git] / src / NMTDS / NMTDS_ListIteratorOfListOfPassKey.hxx
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 //
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License.
8 //
9 // This library is distributed in the hope that it will be useful
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
20 #ifndef _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
21 #define _NMTDS_ListIteratorOfListOfPassKey_HeaderFile
22
23 #ifndef _Standard_Address_HeaderFile
24 #include <Standard_Address.hxx>
25 #endif
26 #ifndef _Handle_NMTDS_ListNodeOfListOfPassKey_HeaderFile
27 #include <Handle_NMTDS_ListNodeOfListOfPassKey.hxx>
28 #endif
29 #ifndef _Standard_Boolean_HeaderFile
30 #include <Standard_Boolean.hxx>
31 #endif
32 class Standard_NoMoreObject;
33 class Standard_NoSuchObject;
34 class NMTDS_ListOfPassKey;
35 class NMTDS_PassKey;
36 class NMTDS_ListNodeOfListOfPassKey;
37
38
39 #ifndef _Standard_HeaderFile
40 #include <Standard.hxx>
41 #endif
42 #ifndef _Standard_Macro_HeaderFile
43 #include <Standard_Macro.hxx>
44 #endif
45
46
47 class NMTDS_ListIteratorOfListOfPassKey  {
48
49 public:
50
51     void* operator new(size_t,void* anAddress) 
52       {
53         return anAddress;
54       }
55     void* operator new(size_t size) 
56       { 
57         return Standard::Allocate(size); 
58       }
59     void  operator delete(void *anAddress) 
60       { 
61         if (anAddress) Standard::Free((Standard_Address&)anAddress); 
62       }
63  // Methods PUBLIC
64  // 
65
66
67 Standard_EXPORT NMTDS_ListIteratorOfListOfPassKey();
68
69
70 Standard_EXPORT NMTDS_ListIteratorOfListOfPassKey(const NMTDS_ListOfPassKey& L);
71
72
73 Standard_EXPORT   void Initialize(const NMTDS_ListOfPassKey& L) ;
74
75   Standard_Boolean More() const;
76
77
78 Standard_EXPORT   void Next() ;
79
80
81 Standard_EXPORT   NMTDS_PassKey& Value() const;
82
83
84 friend class NMTDS_ListOfPassKey;
85
86
87
88 protected:
89
90  // Methods PROTECTED
91  // 
92
93
94  // Fields PROTECTED
95  //
96
97
98 private: 
99
100  // Methods PRIVATE
101  // 
102
103
104  // Fields PRIVATE
105  //
106 Standard_Address current;
107 Standard_Address previous;
108
109
110 };
111
112 #define Item NMTDS_PassKey
113 #define Item_hxx <NMTDS_PassKey.hxx>
114 #define TCollection_ListNode NMTDS_ListNodeOfListOfPassKey
115 #define TCollection_ListNode_hxx <NMTDS_ListNodeOfListOfPassKey.hxx>
116 #define TCollection_ListIterator NMTDS_ListIteratorOfListOfPassKey
117 #define TCollection_ListIterator_hxx <NMTDS_ListIteratorOfListOfPassKey.hxx>
118 #define Handle_TCollection_ListNode Handle_NMTDS_ListNodeOfListOfPassKey
119 #define TCollection_ListNode_Type_() NMTDS_ListNodeOfListOfPassKey_Type_()
120 #define TCollection_List NMTDS_ListOfPassKey
121 #define TCollection_List_hxx <NMTDS_ListOfPassKey.hxx>
122
123 #include <TCollection_ListIterator.lxx>
124
125 #undef Item
126 #undef Item_hxx
127 #undef TCollection_ListNode
128 #undef TCollection_ListNode_hxx
129 #undef TCollection_ListIterator
130 #undef TCollection_ListIterator_hxx
131 #undef Handle_TCollection_ListNode
132 #undef TCollection_ListNode_Type_
133 #undef TCollection_List
134 #undef TCollection_List_hxx
135
136
137 // other Inline functions and methods (like "C++: function call" methods)
138 //
139
140
141 #endif