Open CASCADE Technology 6.6.0
|
Class NCollection_Vector (dynamic array of objects) More...
#include <NCollection_Vector.hxx>
Data Structures | |
class | Iterator |
Nested class Iterator. More... | |
Public Types | |
typedef TheItemType | TheItemTypeD |
Public Member Functions | |
public methods | |
NCollection_Vector (const Standard_Integer theIncrement=256, const Handle_NCollection_BaseAllocator &theAlloc=NULL) | |
Constructor. | |
NCollection_Vector (const NCollection_Vector &theOther) | |
Copy constructor. | |
~NCollection_Vector () | |
Destructor. | |
NCollection_Vector & | operator= (const NCollection_Vector &theOther) |
Operator=. | |
Standard_Integer | Length () const |
Total number of items. | |
virtual Standard_Integer | Size () const |
Total number of items in the vector. | |
Standard_Integer | Lower () const |
Method for consistency with other collections. | |
Standard_Integer | Upper () const |
Method for consistency with other collections. | |
Standard_Boolean | IsEmpty () const |
Empty query. | |
virtual void | Assign (const NCollection_BaseCollection< TheItemType > &theOther) |
Virtual assignment (any collection to this array) | |
void | Assign (const NCollection_Vector &theOther, const Standard_Boolean theOwnAllocator=Standard_True) |
Assignment to the collection of the same type. | |
virtual TYPENAME NCollection_BaseCollection < TheItemType >::Iterator & | CreateIterator () const |
Method to create iterators for base collections. | |
TheItemType & | Append (const TheItemType &theValue) |
Append. | |
const TheItemType & | operator() (const Standard_Integer theIndex) const |
Operator() - query the const value. | |
const TheItemType & | Value (const Standard_Integer theIndex) const |
Constructor. | |
const TheItemType & | First () const |
TheItemType & | ChangeFirst () |
const TheItemType & | Last () const |
TheItemType & | ChangeLast () |
TheItemType & | operator() (const Standard_Integer theIndex) |
Operator() - query the value. | |
TheItemType & | ChangeValue (const Standard_Integer theIndex) |
Constructor. | |
TheItemType & | SetValue (const Standard_Integer theIndex, const TheItemType &theValue) |
SetValue () - set or append a value. |
This class is similar to NCollection_Array1 though the indices always start at 0 (in Array1 the first index must be specified)
The Vector is always created with 0 length. It can be enlarged by two means: 1. Calling the method Append (val) - then "val" is added to the end of the vector (the vector length is incremented) 2. Calling the method SetValue (i, val) - if "i" is greater than or equal to the current length of the vector, the vector is enlarged to accomo- date this index
The methods Append and SetValue return a non-const reference to the copied object inside the vector. This reference is guaranteed to be valid until the vector is destroyed. It can be used to access the vector member directly or to pass its address to other data structures.
The vector iterator remembers the length of the vector at the moment of the creation or initialisation of the iterator. Therefore the iteration begins at index 0 and stops at the index equal to (remembered_length-1). It is OK to enlarge the vector during the iteration.
typedef TheItemType NCollection_Vector< TheItemType >::TheItemTypeD |
NCollection_Vector< TheItemType >::NCollection_Vector | ( | const Standard_Integer | theIncrement = 256 , |
const Handle_NCollection_BaseAllocator & | theAlloc = NULL |
||
) | [inline] |
NCollection_Vector< TheItemType >::NCollection_Vector | ( | const NCollection_Vector< TheItemType > & | theOther | ) | [inline] |
NCollection_Vector< TheItemType >::~NCollection_Vector | ( | ) | [inline] |
TheItemType& NCollection_Vector< TheItemType >::Append | ( | const TheItemType & | theValue | ) | [inline] |
virtual void NCollection_Vector< TheItemType >::Assign | ( | const NCollection_BaseCollection< TheItemType > & | theOther | ) | [inline, virtual] |
Implements NCollection_BaseCollection< TheItemType >.
void NCollection_Vector< TheItemType >::Assign | ( | const NCollection_Vector< TheItemType > & | theOther, |
const Standard_Boolean | theOwnAllocator = Standard_True |
||
) | [inline] |
TheItemType& NCollection_Vector< TheItemType >::ChangeFirst | ( | ) | [inline] |
TheItemType& NCollection_Vector< TheItemType >::ChangeLast | ( | ) | [inline] |
TheItemType& NCollection_Vector< TheItemType >::ChangeValue | ( | const Standard_Integer | theIndex | ) | [inline] |
virtual TYPENAME NCollection_BaseCollection<TheItemType>::Iterator& NCollection_Vector< TheItemType >::CreateIterator | ( | void | ) | const [inline, virtual] |
Implements NCollection_BaseCollection< TheItemType >.
const TheItemType& NCollection_Vector< TheItemType >::First | ( | ) | const [inline] |
Standard_Boolean NCollection_Vector< TheItemType >::IsEmpty | ( | ) | const [inline] |
const TheItemType& NCollection_Vector< TheItemType >::Last | ( | ) | const [inline] |
Standard_Integer NCollection_Vector< TheItemType >::Length | ( | void | ) | const [inline] |
Standard_Integer NCollection_Vector< TheItemType >::Lower | ( | ) | const [inline] |
TheItemType& NCollection_Vector< TheItemType >::operator() | ( | const Standard_Integer | theIndex | ) | [inline] |
const TheItemType& NCollection_Vector< TheItemType >::operator() | ( | const Standard_Integer | theIndex | ) | const [inline] |
NCollection_Vector& NCollection_Vector< TheItemType >::operator= | ( | const NCollection_Vector< TheItemType > & | theOther | ) | [inline] |
TheItemType& NCollection_Vector< TheItemType >::SetValue | ( | const Standard_Integer | theIndex, |
const TheItemType & | theValue | ||
) | [inline] |
virtual Standard_Integer NCollection_Vector< TheItemType >::Size | ( | void | ) | const [inline, virtual] |
Implements NCollection_BaseCollection< TheItemType >.
Standard_Integer NCollection_Vector< TheItemType >::Upper | ( | ) | const [inline] |
const TheItemType& NCollection_Vector< TheItemType >::Value | ( | const Standard_Integer | theIndex | ) | const [inline] |