Salome HOME
A patch from Paul RASCLE for: kernel documentation with doxygen, modification on...
[modules/kernel.git] / src / SALOMEDS / SALOMEDS_TMPFile_i.cxx
1 // Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
2 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
3 // 
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either 
7 // version 2.1 of the License.
8 // 
9 // This library is distributed in the hope that it will be useful 
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12 // Lesser General Public License for more details.
13 //
14 // You should have received a copy of the GNU Lesser General Public  
15 // License along with this library; if not, write to the Free Software 
16 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17 //
18 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19 //
20 //  SALOME SALOMEDS : data structure of SALOME and sources of Salome data server 
21 //  File   : SALOMEDSImpl_SObject.cxx
22 //  Author : Sergey RUIN
23 //  Module : SALOME
24
25
26 #include "SALOMEDS_TMPFile_i.hxx"
27
28 #include <stdexcept>
29
30 SALOMEDS_TMPFile_i
31 ::SALOMEDS_TMPFile_i(SALOMEDS::TMPFile* theStream):
32   myStream(theStream)
33 {}
34
35 size_t
36 SALOMEDS_TMPFile_i
37 ::Size()
38 {
39   if(!&myStream.in())
40     return 0;
41
42   return myStream->length();
43 }
44
45 SALOMEDSImpl_TMPFile::TOctet&
46 SALOMEDS_TMPFile_i
47 ::Get(size_t theIndex)
48 {
49   if(!&myStream.in())
50     throw std::out_of_range("SALOMEDS_TMPFile_i::Get(size_t) const - !&myStream.in()");
51
52   if(theIndex < 0 || theIndex >= myStream->length())
53     throw std::out_of_range("SALOMEDS_TMPFile_i::Get(size_t) const - theIndex < 0 || theIndex >= myStream->length()");
54
55   return myStream[theIndex];
56 }
57
58
59 //-----------------------------------------------------------------------------
60 Engines_TMPFile_i
61 ::Engines_TMPFile_i(Engines::TMPFile* theStream):
62   myStream(theStream)
63 {}
64
65 size_t
66 Engines_TMPFile_i
67 ::Size()
68 {
69   if(!&myStream.in())
70     return 0;
71
72   return myStream->length();
73 }
74
75 SALOMEDSImpl_TMPFile::TOctet&
76 Engines_TMPFile_i
77 ::Get(size_t theIndex)
78 {
79   if(!&myStream.in())
80     throw std::out_of_range("Engines_TMPFile_i::Get(size_t) const - !&myStream.in()");
81
82   if(theIndex < 0 || theIndex >= myStream->length())
83     throw std::out_of_range("Engines_TMPFile_i::Get(size_t) const - theIndex < 0 || theIndex >= myStream->length()");
84
85   return myStream[theIndex];
86 }