7ed7467d |
1 | // Copyright (c) 2015 OPEN CASCADE SAS |
2 | // |
3 | // This file is part of Open CASCADE Technology software library. |
4 | // |
5 | // This library is free software; you can redistribute it and/or modify it under |
6 | // the terms of the GNU Lesser General Public License version 2.1 as published |
7 | // by the Free Software Foundation, with special exception defined in the file |
8 | // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT |
9 | // distribution for complete text of the license and disclaimer of any warranty. |
10 | // |
11 | // Alternatively, this file may be used under the terms of Open CASCADE |
12 | // commercial license or contractual agreement. |
13 | |
ff205346 |
14 | #include <StdLPersistent_HArray1.hxx> |
7ed7467d |
15 | |
ff205346 |
16 | |
7ed7467d |
17 | //======================================================================= |
18 | //function : Read |
19 | //purpose : Read persistent data from a file |
20 | //======================================================================= |
45d8465e |
21 | void StdLPersistent_HArray1::base::Read (StdObjMgt_ReadData& theReadData) |
7ed7467d |
22 | { |
45d8465e |
23 | Standard_Integer aLowerBound, anUpperBound; |
7ed7467d |
24 | theReadData >> aLowerBound >> anUpperBound; |
ff205346 |
25 | createArray (aLowerBound, anUpperBound); |
7ed7467d |
26 | |
472433e2 |
27 | StdObjMgt_ReadData::ObjectSentry aSentry (theReadData); |
7ed7467d |
28 | |
29 | Standard_Integer aSize; |
472433e2 |
30 | theReadData >> aSize; |
7ed7467d |
31 | |
32 | for (Standard_Integer i = aLowerBound; i <= anUpperBound; i++) |
472433e2 |
33 | readValue (theReadData, i); |
ff205346 |
34 | } |
ec964372 |
35 | |
36 | //======================================================================= |
37 | //function : Write |
38 | //purpose : Write persistent data to a file |
39 | //======================================================================= |
40 | void StdLPersistent_HArray1::base::Write (StdObjMgt_WriteData& theWriteData) const |
41 | { |
42 | Standard_Integer aLowerBound = lowerBound(), anUpperBound = upperBound(); |
43 | theWriteData << aLowerBound << anUpperBound; |
44 | |
472433e2 |
45 | StdObjMgt_WriteData::ObjectSentry aSentry (theWriteData); |
ec964372 |
46 | |
47 | Standard_Integer aSize = anUpperBound - aLowerBound + 1; |
472433e2 |
48 | theWriteData << aSize; |
ec964372 |
49 | |
50 | for (Standard_Integer i = aLowerBound; i <= anUpperBound; i++) |
51 | writeValue(theWriteData, i); |
52 | } |