0024927: Getting rid of "Persistent" functionality -- Code
[occt.git] / src / PDataStd / PDataStd_IntPackedMap.cxx
1 // Created on: 2007-08-22
2 // Created by: Sergey ZARITCHNY
3 // Copyright (c) 2007-2014 OPEN CASCADE SAS
4 //
5 // This file is part of Open CASCADE Technology software library.
6 //
7 // This library is free software; you can redistribute it and/or modify it under
8 // the terms of the GNU Lesser General Public License version 2.1 as published
9 // by the Free Software Foundation, with special exception defined in the file
10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
11 // distribution for complete text of the license and disclaimer of any warranty.
12 //
13 // Alternatively, this file may be used under the terms of Open CASCADE
14 // commercial license or contractual agreement.
15
16 #include <PDataStd_IntPackedMap.ixx>
17 #include <PColStd_HArray1OfInteger.hxx>
18 //=======================================================================
19 //function : PDataStd_IntPackedMap
20 //purpose  : Constructor
21 //=======================================================================
22 PDataStd_IntPackedMap::PDataStd_IntPackedMap() {}
23
24 //=======================================================================
25 //function : Init
26 //purpose  : Initializes the internal container
27 //=======================================================================
28 void PDataStd_IntPackedMap::Init(const Standard_Integer theLow, 
29 const Standard_Integer theUp) {
30   myIntValues = new PColStd_HArray1OfInteger(theLow, theUp);
31 }
32
33 //=======================================================================
34 //function : GetValue
35 //purpose  : 
36 //=======================================================================
37 Standard_Integer PDataStd_IntPackedMap::GetValue(
38                                    const Standard_Integer theIndex) const
39 { return myIntValues->Value(theIndex); }
40
41 //=======================================================================
42 //function : SetValue
43 //purpose  : 
44 //=======================================================================
45 void PDataStd_IntPackedMap::SetValue(const Standard_Integer theIndx, 
46                                      const Standard_Integer theValue) 
47
48   myIntValues->SetValue(theIndx, theValue);
49 }
50
51 //=======================================================================
52 //function : IsEmpty
53 //purpose  : 
54 //=======================================================================
55 Standard_Boolean PDataStd_IntPackedMap::IsEmpty() const
56
57   if(myIntValues.IsNull()) return Standard_True;
58   if(!myIntValues->Upper() && !myIntValues->Lower()) return Standard_True;
59   return Standard_False;
60 }
61
62 //=======================================================================
63 //function : Returns an upper bound of the internal container
64 //purpose  : 
65 //=======================================================================
66 Standard_Integer PDataStd_IntPackedMap::Upper() const
67
68   if(myIntValues.IsNull()) return 0;
69   return myIntValues->Upper();
70 }
71
72 //=======================================================================
73 //function : Returns a lower bound of the internal container
74 //purpose  : 
75 //=======================================================================
76 Standard_Integer PDataStd_IntPackedMap::Lower() const
77
78   if(myIntValues.IsNull()) return 0;
79   return myIntValues->Lower();
80 }