|
| NCollection_Array2 () |
| Empty constructor; should be used with caution.
|
|
| NCollection_Array2 (const Standard_Integer theRowLower, const Standard_Integer theRowUpper, const Standard_Integer theColLower, const Standard_Integer theColUpper) |
| Constructor.
|
|
| NCollection_Array2 (const allocator_type &theAlloc, const Standard_Integer theRowLower, const Standard_Integer theRowUpper, const Standard_Integer theColLower, const Standard_Integer theColUpper) |
| Constructor.
|
|
| NCollection_Array2 (const NCollection_Array2 &theOther) |
| Copy constructor.
|
|
| NCollection_Array2 (NCollection_Array2 &&theOther) noexcept |
| Move constructor.
|
|
| NCollection_Array2 (const TheItemType &theBegin, const Standard_Integer theRowLower, const Standard_Integer theRowUpper, const Standard_Integer theColLower, const Standard_Integer theColUpper) |
| C array-based constructor.
|
|
Standard_Integer | Size () const |
| Size (number of items)
|
|
Standard_Integer | Length () const |
| Length (number of items)
|
|
Standard_Integer | NbRows () const |
| Returns number of rows.
|
|
Standard_Integer | NbColumns () const |
| Returns number of columns.
|
|
Standard_Integer | RowLength () const |
| Returns length of the row, i.e. number of columns.
|
|
Standard_Integer | ColLength () const |
| Returns length of the column, i.e. number of rows.
|
|
Standard_Integer | LowerRow () const |
| LowerRow.
|
|
Standard_Integer | UpperRow () const |
| UpperRow.
|
|
Standard_Integer | LowerCol () const |
| LowerCol.
|
|
Standard_Integer | UpperCol () const |
| UpperCol.
|
|
NCollection_Array2 & | Assign (const NCollection_Array2 &theOther) |
| Assignment.
|
|
NCollection_Array2 & | Move (NCollection_Array2 &&theOther) |
| Move assignment. This array will borrow all the data from theOther. The moved object will be left uninitialized and should not be used anymore.
|
|
NCollection_Array2 & | Move (NCollection_Array2 &theOther) |
| Move assignment. This array will borrow all the data from theOther. The moved object will be left uninitialized and should not be used anymore.
|
|
NCollection_Array2 & | operator= (const NCollection_Array2 &theOther) |
| Assignment operator.
|
|
NCollection_Array2 & | operator= (NCollection_Array2 &&theOther) |
| Move assignment operator;.
|
|
const_reference | Value (const Standard_Integer theRow, const Standard_Integer theCol) const |
| Constant value access.
|
|
const_reference | operator() (const Standard_Integer theRow, const Standard_Integer theCol) const |
| operator() - alias to ChangeValue
|
|
reference | ChangeValue (const Standard_Integer theRow, const Standard_Integer theCol) |
| Variable value access.
|
|
reference | operator() (const Standard_Integer theRow, const Standard_Integer theCol) |
| operator() - alias to ChangeValue
|
|
void | SetValue (const Standard_Integer theRow, const Standard_Integer theCol, const TheItemType &theItem) |
| SetValue.
|
|
void | SetValue (const Standard_Integer theRow, const Standard_Integer theCol, TheItemType &&theItem) |
| SetValue.
|
|
void | Resize (Standard_Integer theRowLower, Standard_Integer theRowUpper, Standard_Integer theColLower, Standard_Integer theColUpper, Standard_Boolean theToCopyData) |
| Resizes the array to specified bounds. No re-allocation will be done if length of array does not change, but existing values will not be discarded if theToCopyData set to FALSE.
|
|
const_iterator | begin () const |
|
iterator | begin () |
|
const_iterator | cbegin () const |
|
iterator | end () |
|
const_iterator | end () const |
|
const_iterator | cend () const |
|
| NCollection_Array1 () |
|
| NCollection_Array1 (const Standard_Integer theLower, const Standard_Integer theUpper) |
|
| NCollection_Array1 (const allocator_type &theAlloc, const Standard_Integer theLower, const Standard_Integer theUpper) |
|
| NCollection_Array1 (const_reference theBegin, const Standard_Integer theLower, const Standard_Integer theUpper, const bool theUseBuffer=true) |
|
| NCollection_Array1 (const NCollection_Array1 &theOther) |
| Copy constructor.
|
|
| NCollection_Array1 (NCollection_Array1 &&theOther) noexcept |
| Move constructor.
|
|
virtual | ~NCollection_Array1 () |
|
void | Init (const_reference theValue) |
| Initialise the items with theValue.
|
|
Standard_Integer | Size () const |
| Size query.
|
|
Standard_Integer | Length () const |
| Length query (the same)
|
|
Standard_Boolean | IsEmpty () const |
| Return TRUE if array has zero length.
|
|
Standard_Integer | Lower () const |
| Lower bound.
|
|
Standard_Integer | Upper () const |
| Upper bound.
|
|
NCollection_Array1 & | Assign (const NCollection_Array1 &theOther) |
| Copies data of theOther array to this. This array should be pre-allocated and have the same length as theOther; otherwise exception Standard_DimensionMismatch is thrown.
|
|
NCollection_Array1 & | Move (NCollection_Array1 &&theOther) noexcept |
| Move assignment. This array will borrow all the data from theOther. The moved object will keep pointer to the memory buffer and range, but it will not free the buffer on destruction.
|
|
NCollection_Array1 & | Move (NCollection_Array1 &theOther) |
|
NCollection_Array1 & | operator= (const NCollection_Array1 &theOther) |
| Assignment operator;.
|
|
NCollection_Array1 & | operator= (NCollection_Array1 &&theOther) noexcept |
| Move assignment operator;.
|
|
const_reference | First () const |
|
reference | ChangeFirst () |
|
const_reference | Last () const |
|
reference | ChangeLast () |
|
const_reference | Value (const Standard_Integer theIndex) const |
| Constant value access.
|
|
const_reference | operator() (const Standard_Integer theIndex) const |
| operator() - alias to Value
|
|
const_reference | operator[] (const Standard_Integer theIndex) const |
| operator[] - alias to Value
|
|
reference | ChangeValue (const Standard_Integer theIndex) |
| Variable value access.
|
|
reference | operator() (const Standard_Integer theIndex) |
| operator() - alias to ChangeValue
|
|
reference | operator[] (const Standard_Integer theIndex) |
| operator[] - alias to ChangeValue
|
|
void | SetValue (const Standard_Integer theIndex, const value_type &theItem) |
| Set value.
|
|
void | SetValue (const Standard_Integer theIndex, value_type &&theItem) |
| Set value.
|
|
void | UpdateLowerBound (const Standard_Integer theLower) |
| Changes the lowest bound. Do not move data.
|
|
void | UpdateUpperBound (const Standard_Integer theUpper) |
| Changes the upper bound. Do not move data.
|
|
void | Resize (const Standard_Integer theLower, const Standard_Integer theUpper, const Standard_Boolean theToCopyData) |
| Resizes the array to specified bounds. No re-allocation will be done if length of array does not change, but existing values will not be discarded if theToCopyData set to FALSE.
|
|
bool | IsDeletable () const |
|
|
friend | iterator |
|
friend | const_iterator |
|
const_reference | at (const size_t theIndex) const |
|
reference | at (const size_t theIndex) |
|
template<typename U = TheItemType> |
std::enable_if< std::is_arithmetic< U >::value, void >::type | construct () |
|
template<typename U = TheItemType> |
std::enable_if<!std::is_arithmetic< U >::value, void >::type | construct () |
|
template<typename U = TheItemType> |
std::enable_if< std::is_arithmetic< U >::value, void >::type | construct (const size_t, const size_t) |
|
template<typename U = TheItemType> |
std::enable_if<!std::is_arithmetic< U >::value, void >::type | construct (const size_t theFrom, const size_t theTo) |
|
template<typename U = TheItemType> |
std::enable_if< std::is_arithmetic< U >::value, void >::type | destroy () |
|
template<typename U = TheItemType> |
std::enable_if<!std::is_arithmetic< U >::value, void >::type | destroy () |
|
template<typename U = TheItemType> |
std::enable_if< std::is_arithmetic< U >::value, void >::type | destroy (pointer, const size_t, const size_t) |
|
template<typename U = TheItemType> |
std::enable_if<!std::is_arithmetic< U >::value, void >::type | destroy (pointer theWhat, const size_t theFrom, const size_t theTo) |
|
void | copyConstruct (const pointer theFrom, const size_t theCount) |
|
template<class TheItemType>
class NCollection_Array2< TheItemType >
Purpose: The class Array2 represents bi-dimensional arrays of fixed size known at run time. The ranges of indices are user defined.
Class allocates one 1D array storing full data (all Rows and Columns) and extra 1D array storing pointers to each Row.
Warning: Programs clients of such class must be independent of the range of the first element. Then, a C++ for loop must be written like this
for (i = A.LowerRow(); i <= A.UpperRow(); i++) for (j = A.LowerCol(); j <= A.UpperCol(); j++)