2a212ad715cc154a4638e3f42033115d4a13c99c
[occt.git] / src / TCollection / TCollection_Array2.lxx
1 // Copyright (c) 1998-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
3 //
4 // The content of this file is subject to the Open CASCADE Technology Public
5 // License Version 6.5 (the "License"). You may not use the content of this file
6 // except in compliance with the License. Please obtain a copy of the License
7 // at http://www.opencascade.org and read it completely before using this file.
8 //
9 // The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
10 // main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
11 //
12 // The Original Code and all software distributed under the License is
13 // distributed on an "AS IS" basis, without warranty of any kind, and the
14 // Initial Developer hereby disclaims all such warranties, including without
15 // limitation, any warranties of merchantability, fitness for a particular
16 // purpose or non-infringement. Please see the License for the specific terms
17 // and conditions governing the rights and limitations under the License.
18
19 #include <Standard_OutOfRange.hxx>
20
21 #include Array2Item_hxx
22
23 //=======================================================================
24 //function : ColLength
25 //purpose  : 
26 //=======================================================================
27 inline Standard_Integer TCollection_Array2::ColLength () const
28 {
29         return myUpperRow - myLowerRow + 1 ;
30 }
31
32 //=======================================================================
33 //function : LowerCol
34 //purpose  : 
35 //=======================================================================
36 inline Standard_Integer TCollection_Array2::LowerCol () const
37 {
38         return myLowerColumn ;
39 }
40
41 //=======================================================================
42 //function : LowerRow
43 //purpose  : 
44 //=======================================================================
45 inline Standard_Integer TCollection_Array2::LowerRow () const
46 {
47         return myLowerRow;
48 }
49
50 //=======================================================================
51 //function : RowLength
52 //purpose  : 
53 //=======================================================================
54 inline Standard_Integer TCollection_Array2::RowLength () const
55 {
56         return myUpperColumn - myLowerColumn + 1 ;
57 }
58
59 //=======================================================================
60 //function : UpperRow
61 //purpose  : 
62 //=======================================================================
63 inline Standard_Integer TCollection_Array2::UpperRow () const
64 {
65         return myUpperRow ;
66 }
67
68 //=======================================================================
69 //function : UpperCol
70 //purpose  : 
71 //=======================================================================
72 inline Standard_Integer TCollection_Array2::UpperCol () const
73 {
74         return myUpperColumn ;
75 }
76
77 //=======================================================================
78 //function : SetValue
79 //purpose  : 
80 //=======================================================================
81
82 inline void TCollection_Array2::SetValue ( const Standard_Integer Row,
83                                     const Standard_Integer Col,
84                                     const Array2Item& Value )
85 {
86   Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
87                                 Col < myLowerColumn || Col > myUpperColumn),
88                                NULL);
89
90   ((Array2Item **)myData)[Row][Col] = Value ;
91 }
92
93 //=======================================================================
94 //function : Value
95 //purpose  : 
96 //=======================================================================
97 inline const Array2Item& TCollection_Array2::Value(const Standard_Integer Row,
98                                             const Standard_Integer Col) const
99 {
100   Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
101                                 Col < myLowerColumn || Col > myUpperColumn),
102                                NULL);
103
104   return ((Array2Item **)myData)[Row][Col];
105
106
107 //=======================================================================
108 //function : ChangeValue
109 //purpose  : 
110 //=======================================================================
111
112 inline Array2Item& TCollection_Array2::ChangeValue(const Standard_Integer Row,
113                                             const Standard_Integer Col)
114 {
115   Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
116                                 Col < myLowerColumn || Col > myUpperColumn),
117                                NULL);
118
119   return ((Array2Item **)myData)[Row][Col];
120
121
122
123