40af4a90dd8838fac02d09c57fdeb58f506bc71c
[occt.git] / src / PDataStd / PDataStd_IntPackedMap_1.cxx
1 // Created on: 2008-03-27
2 // Created by: Sergey ZARITCHNY
3 // Copyright (c) 2008-2012 OPEN CASCADE SAS
4 //
5 // The content of this file is subject to the Open CASCADE Technology Public
6 // License Version 6.5 (the "License"). You may not use the content of this file
7 // except in compliance with the License. Please obtain a copy of the License
8 // at http://www.opencascade.org and read it completely before using this file.
9 //
10 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
12 //
13 // The Original Code and all software distributed under the License is
14 // distributed on an "AS IS" basis, without warranty of any kind, and the
15 // Initial Developer hereby disclaims all such warranties, including without
16 // limitation, any warranties of merchantability, fitness for a particular
17 // purpose or non-infringement. Please see the License for the specific terms
18 // and conditions governing the rights and limitations under the License.
19
20
21
22 #include <PDataStd_IntPackedMap_1.ixx>
23 #include <PColStd_HArray1OfInteger.hxx>
24
25 //=======================================================================
26 //function : PDataStd_IntPackedMap_1
27 //purpose  : Constructor
28 //=======================================================================
29 PDataStd_IntPackedMap_1::PDataStd_IntPackedMap_1() {}
30
31 //=======================================================================
32 //function : Init
33 //purpose  : Initializes the internal container
34 //=======================================================================
35 void PDataStd_IntPackedMap_1::Init(const Standard_Integer theLow, 
36 const Standard_Integer theUp) {
37   myIntValues = new PColStd_HArray1OfInteger(theLow, theUp);
38 }
39
40 //=======================================================================
41 //function : GetValue
42 //purpose  : 
43 //=======================================================================
44 Standard_Integer PDataStd_IntPackedMap_1::GetValue(
45                                    const Standard_Integer theIndex) const
46 { return myIntValues->Value(theIndex); }
47
48 //=======================================================================
49 //function : SetValue
50 //purpose  : 
51 //=======================================================================
52 void PDataStd_IntPackedMap_1::SetValue(const Standard_Integer theIndx, 
53                                      const Standard_Integer theValue) 
54
55   myIntValues->SetValue(theIndx, theValue);
56 }
57
58 //=======================================================================
59 //function : IsEmpty
60 //purpose  : 
61 //=======================================================================
62 Standard_Boolean PDataStd_IntPackedMap_1::IsEmpty() const
63
64   if(myIntValues.IsNull()) return Standard_True;
65   if(!myIntValues->Upper() && !myIntValues->Lower()) return Standard_True;
66   return Standard_False;
67 }
68
69 //=======================================================================
70 //function : Returns an upper bound of the internal container
71 //purpose  : 
72 //=======================================================================
73 Standard_Integer PDataStd_IntPackedMap_1::Upper() const
74
75   if(myIntValues.IsNull()) return 0;
76   return myIntValues->Upper();
77 }
78
79 //=======================================================================
80 //function : Returns a lower bound of the internal container
81 //purpose  : 
82 //=======================================================================
83 Standard_Integer PDataStd_IntPackedMap_1::Lower() const
84
85   if(myIntValues.IsNull()) return 0;
86   return myIntValues->Lower();
87 }
88
89 //=======================================================================
90 //function : SetDelta
91 //purpose  : 
92 //=======================================================================
93 void PDataStd_IntPackedMap_1::SetDelta(const Standard_Boolean delta)
94 {
95   myDelta = delta;
96 }
97
98 //=======================================================================
99 //function : GetDelta
100 //purpose  : 
101 //=======================================================================
102 Standard_Boolean PDataStd_IntPackedMap_1::GetDelta() const
103 {
104   return myDelta;
105 }