Salome HOME
IPAL22903: TC650: Store/Restore last GUI state does not work for Isos
[modules/geom.git] / src / NMTDS / NMTDS_MapOfPairBoolean.hxx
1 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D, OPEN CASCADE
2 //
3 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 //
6 // This library is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License.
10 //
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 // Lesser General Public License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 //
20 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 //
22 \r
23 #ifndef _NMTDS_MapOfPairBoolean_HeaderFile\r
24 #define _NMTDS_MapOfPairBoolean_HeaderFile\r
25 \r
26 #ifndef _Standard_HeaderFile\r
27 #include <Standard.hxx>\r
28 #endif\r
29 #ifndef _Standard_Macro_HeaderFile\r
30 #include <Standard_Macro.hxx>\r
31 #endif\r
32 \r
33 #ifndef _TCollection_BasicMap_HeaderFile\r
34 #include <TCollection_BasicMap.hxx>\r
35 #endif\r
36 #ifndef _Handle_NMTDS_StdMapNodeOfMapOfPairBoolean_HeaderFile\r
37 #include <Handle_NMTDS_StdMapNodeOfMapOfPairBoolean.hxx>\r
38 #endif\r
39 #ifndef _Standard_Integer_HeaderFile\r
40 #include <Standard_Integer.hxx>\r
41 #endif\r
42 #ifndef _Standard_Boolean_HeaderFile\r
43 #include <Standard_Boolean.hxx>\r
44 #endif\r
45 class Standard_DomainError;\r
46 class NMTDS_PairBoolean;\r
47 class NMTDS_PairMapHasher;\r
48 class NMTDS_StdMapNodeOfMapOfPairBoolean;\r
49 class NMTDS_MapIteratorOfMapOfPairBoolean;\r
50 \r
51 \r
52 \r
53 class NMTDS_MapOfPairBoolean  : public TCollection_BasicMap {\r
54 public:\r
55 \r
56   void* operator new(size_t,void* anAddress) \r
57   {\r
58     return anAddress;\r
59   }\r
60   void* operator new(size_t size) \r
61   {\r
62     return Standard::Allocate(size); \r
63   }\r
64   void  operator delete(void *anAddress) \r
65   {\r
66     if (anAddress) Standard::Free((Standard_Address&)anAddress); \r
67   }\r
68 \r
69   \r
70   Standard_EXPORT   NMTDS_MapOfPairBoolean(const Standard_Integer NbBuckets = 1);\r
71   \r
72   Standard_EXPORT     NMTDS_MapOfPairBoolean& Assign(const NMTDS_MapOfPairBoolean& Other) ;\r
73     NMTDS_MapOfPairBoolean& operator =(const NMTDS_MapOfPairBoolean& Other) \r
74 {\r
75   return Assign(Other);\r
76 }\r
77   \r
78   Standard_EXPORT     void ReSize(const Standard_Integer NbBuckets) ;\r
79   \r
80   Standard_EXPORT     void Clear() ;\r
81 ~NMTDS_MapOfPairBoolean()\r
82 {\r
83   Clear();\r
84 }\r
85   \r
86   Standard_EXPORT     Standard_Boolean Add(const NMTDS_PairBoolean& aKey) ;\r
87   \r
88   Standard_EXPORT     Standard_Boolean Contains(const NMTDS_PairBoolean& aKey) const;\r
89   \r
90   Standard_EXPORT     Standard_Boolean Remove(const NMTDS_PairBoolean& aKey) ;\r
91 \r
92 \r
93 \r
94 \r
95 \r
96 protected:\r
97 \r
98 \r
99 \r
100 \r
101 \r
102 private:\r
103 \r
104   \r
105   Standard_EXPORT   NMTDS_MapOfPairBoolean(const NMTDS_MapOfPairBoolean& Other);\r
106 \r
107 \r
108 \r
109 \r
110 };\r
111 \r
112 \r
113 \r
114 \r
115 \r
116 // other Inline functions and methods (like "C++: function call" methods)\r
117 \r
118 \r
119 #endif\r