0023024: Update headers of OCCT files
[occt.git] / src / BinTools / BinTools.cxx
1 // Created on: 2004-05-18
2 // Created by: Sergey ZARITCHNY
3 // Copyright (c) 2004-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 #include <BinTools.ixx>
22 #include <FSD_FileHeader.hxx>
23 #include <Storage_StreamTypeMismatchError.hxx>
24
25 //=======================================================================
26 //function : PutBool
27 //purpose  : 
28 //=======================================================================
29
30 Standard_OStream& BinTools::PutBool(Standard_OStream& OS, const Standard_Boolean aValue)
31 {
32   OS.put((Standard_Byte)aValue);
33   return OS;
34 }
35
36
37 //=======================================================================
38 //function : PutInteger
39 //purpose  : 
40 //=======================================================================
41
42 Standard_OStream& BinTools::PutInteger(Standard_OStream& OS, const Standard_Integer aValue)
43 {
44   Standard_Integer anIntValue = aValue;
45 #if DO_INVERSE
46       anIntValue = InverseInt (aValue);
47 #endif
48   OS.write((char*)&anIntValue, sizeof(Standard_Integer));  
49   return OS;
50 }
51
52
53 //=======================================================================
54 //function : PutReal
55 //purpose  : 
56 //=======================================================================
57
58 Standard_OStream& BinTools::PutReal(Standard_OStream& OS, const Standard_Real aValue)
59 {
60   Standard_Real aRValue = aValue;
61 #if DO_INVERSE
62       aRValue = InverseReal (aValue);
63 #endif
64   OS.write((char*)&aRValue, sizeof(Standard_Real));  
65   return OS;
66 }
67
68 //=======================================================================
69 //function : PutExtChar
70 //purpose  : 
71 //=======================================================================
72
73 Standard_OStream& BinTools::PutExtChar(Standard_OStream& OS, const Standard_ExtCharacter aValue)
74 {
75   Standard_ExtCharacter aSValue = aValue;
76 #if DO_INVERSE
77       aSValue = InverseExtChar (aValue);
78 #endif
79   OS.write((char*)&aSValue, sizeof(Standard_ExtCharacter));  
80   return OS;
81 }
82 //=======================================================================
83 //function : GetReal
84 //purpose  : 
85 //=======================================================================
86
87 Standard_IStream& BinTools::GetReal(Standard_IStream& IS, Standard_Real& aValue)
88 {
89   if(!IS.read ((char*)&aValue, sizeof(Standard_Real)))
90     Storage_StreamTypeMismatchError::Raise();
91 #if DO_INVERSE
92   aValue = InverseReal (aValue);
93 #endif
94   return IS;
95 }
96
97 //=======================================================================
98 //function : GetInteger
99 //purpose  : 
100 //=======================================================================
101
102 Standard_IStream& BinTools::GetInteger(Standard_IStream& IS, Standard_Integer& aValue)
103 {
104   if(!IS.read ((char*)&aValue, sizeof(Standard_Integer)))
105     Storage_StreamTypeMismatchError::Raise();;
106 #if DO_INVERSE
107   aValue = InverseInt (aValue);
108 #endif
109   return IS;
110 }
111
112 //=======================================================================
113 //function : GetExtChar
114 //purpose  : 
115 //=======================================================================
116
117 Standard_IStream& BinTools::GetExtChar(Standard_IStream& IS, Standard_ExtCharacter& theValue)
118 {
119   if(!IS.read ((char*)&theValue, sizeof(Standard_ExtCharacter)))
120     Storage_StreamTypeMismatchError::Raise();;
121 #if DO_INVERSE
122   theValue = InverseExtChar (theValue);
123 #endif
124   return IS;
125 }
126
127 //=======================================================================
128 //function : GetBool
129 //purpose  : 
130 //=======================================================================
131
132 Standard_IStream& BinTools::GetBool(Standard_IStream& IS, Standard_Boolean& aValue)
133 {
134   aValue = (Standard_Boolean)IS.get();
135   return IS;
136 }