1 // Copyright (c) 1998-1999 Matra Datavision
2 // Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
19 #include <Standard_OutOfRange.hxx>
21 #include Array2Item_hxx
23 //=======================================================================
24 //function : ColLength
26 //=======================================================================
27 inline Standard_Integer TCollection_Array2::ColLength () const
29 return myUpperRow - myLowerRow + 1 ;
32 //=======================================================================
35 //=======================================================================
36 inline Standard_Integer TCollection_Array2::LowerCol () const
38 return myLowerColumn ;
41 //=======================================================================
44 //=======================================================================
45 inline Standard_Integer TCollection_Array2::LowerRow () const
50 //=======================================================================
51 //function : RowLength
53 //=======================================================================
54 inline Standard_Integer TCollection_Array2::RowLength () const
56 return myUpperColumn - myLowerColumn + 1 ;
59 //=======================================================================
62 //=======================================================================
63 inline Standard_Integer TCollection_Array2::UpperRow () const
68 //=======================================================================
71 //=======================================================================
72 inline Standard_Integer TCollection_Array2::UpperCol () const
74 return myUpperColumn ;
77 //=======================================================================
80 //=======================================================================
82 inline void TCollection_Array2::SetValue ( const Standard_Integer Row,
83 const Standard_Integer Col,
84 const Array2Item& Value )
86 Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
87 Col < myLowerColumn || Col > myUpperColumn),
90 ((Array2Item **)myData)[Row][Col] = Value ;
93 //=======================================================================
96 //=======================================================================
97 inline const Array2Item& TCollection_Array2::Value(const Standard_Integer Row,
98 const Standard_Integer Col) const
100 Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
101 Col < myLowerColumn || Col > myUpperColumn),
104 return ((Array2Item **)myData)[Row][Col];
107 //=======================================================================
108 //function : ChangeValue
110 //=======================================================================
112 inline Array2Item& TCollection_Array2::ChangeValue(const Standard_Integer Row,
113 const Standard_Integer Col)
115 Standard_OutOfRange_Raise_if((Row < myLowerRow || Row > myUpperRow ||
116 Col < myLowerColumn || Col > myUpperColumn),
119 return ((Array2Item **)myData)[Row][Col];