myData = (void*) (q - myLowerRow);
}
+//=======================================================================
+//function : TCollection_Array2
+//purpose :
+//=======================================================================
+
+TCollection_Array2::TCollection_Array2 (const Standard_Integer R1,
+ const Standard_Integer R2,
+ const Standard_Integer C1,
+ const Standard_Integer C2) :
+ myLowerRow(R1),
+ myLowerColumn(C1),
+ myUpperRow(R2),
+ myUpperColumn(C2),
+ myDeletable(Standard_True)
+{
+ Allocate ();
+}
+
+//=======================================================================
+//function : TCollection_Array2
+//purpose : User allocated data
+//=======================================================================
+
+TCollection_Array2::TCollection_Array2 (const Array2Item& Item,
+ const Standard_Integer R1,
+ const Standard_Integer R2,
+ const Standard_Integer C1,
+ const Standard_Integer C2) :
+ myLowerRow(R1),
+ myLowerColumn(C1),
+ myUpperRow(R2),
+ myUpperColumn(C2),
+ myDeletable(Standard_False),
+ myData((void*)&Item)
+{
+ Allocate ();
+}
+
+//=======================================================================
+//function : Init
+//purpose :
+//=======================================================================
+
+void TCollection_Array2::Init (const Array2Item& V)
+{
+ Standard_Integer Size = RowLength() * ColLength();
+ Array2Item* p = &(ChangeValue(myLowerRow,myLowerColumn));
+ for (Standard_Integer I = 0; I < Size ; I++) p[I] = V;
+}
+
+//=======================================================================
+//function : Destroy
+//purpose :
+//=======================================================================
+
+void TCollection_Array2::Destroy ()
+{
+ Array2Item** anItemPtr = ((Array2Item**)myData + myLowerRow);
+
+ // delete the data
+ //
+ if (myDeletable)
+ delete [] &ChangeValue(myLowerRow,myLowerColumn);
+
+ // delete the indirection table
+ Standard::Free((void*&)anItemPtr);
+}
//=======================================================================
//function : Assign