Open CASCADE Technology 7.8.2.dev
NCollection_Vector.hxx File Reference

Typedefs

template<class TheItemType >
using NCollection_Vector = NCollection_DynamicArray<TheItemType>
 Class NCollection_Vector (dynamic array of objects)
 

Typedef Documentation

◆ NCollection_Vector

template<class TheItemType >
using NCollection_Vector = NCollection_DynamicArray<TheItemType>

Class NCollection_Vector (dynamic array of objects)

This class is similar to NCollection_Vector 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.