Open CASCADE Technology: NCollection_Vector< TheItemType > Class Template Reference

Open CASCADE Technology 6.8.0

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- Data Structures
- Data Structure Index
- Class Hierarchy
- Data Fields

Data Structures | Public Types | Public Member Functions
NCollection_Vector< TheItemType > Class Template Reference

Class NCollection_Vector (dynamic array of objects) More...

`#include <NIS_Drawer.hxx>`

Inheritance diagram for NCollection_Vector< TheItemType >:
[legend]

## Data Structures
class | Iterator
| Nested class Iterator. More...

## Public Types
typedef TheItemType | value_type
| STL-compliant typedef for value type. More...
typedef NCollection_StlIterator < std::random_access_iterator_tag, Iterator, TheItemType, false > | iterator
| Shorthand for a regular iterator type. More...
typedef NCollection_StlIterator < std::random_access_iterator_tag, Iterator, TheItemType, true > | const_iterator
| Shorthand for a constant iterator type. More...

## Public Member Functions
iterator | begin () const
| Returns an iterator pointing to the first element in the vector. More...
iterator | end () const
| Returns an iterator referring to the past-the-end element in the vector. More...
const_iterator | cbegin () const
| Returns a const iterator pointing to the first element in the vector. More...
const_iterator | cend () const
| Returns a const iterator referring to the past-the-end element in the vector. More...
public methods
| NCollection_Vector (const Standard_Integer theIncrement=256, const Handle< NCollection_BaseAllocator > &theAlloc=NULL)
| Constructor. More...
| NCollection_Vector (const NCollection_Vector &theOther)
| Copy constructor. More...
| ~NCollection_Vector ()
| Destructor. More...
Standard_Integer | Length () const
| Total number of items. More...
Standard_Integer | Size () const
| Total number of items in the vector. More...
Standard_Integer | Lower () const
| Method for consistency with other collections. More...
Standard_Integer | Upper () const
| Method for consistency with other collections. More...
Standard_Boolean | IsEmpty () const
| Empty query. More...
void | Assign (const NCollection_Vector &theOther, const Standard_Boolean theOwnAllocator=Standard_True)
| Assignment to the collection of the same type. More...
NCollection_Vector & | operator= (const NCollection_Vector &theOther)
| Assignment operator. More...
TheItemType & | Append (const TheItemType &theValue)
| Append. More...
const TheItemType & | operator() (const Standard_Integer theIndex) const
| Operator() - query the const value. More...
const TheItemType & | Value (const Standard_Integer theIndex) const
| Constructor. More...
const TheItemType & | First () const
TheItemType & | ChangeFirst ()
const TheItemType & | Last () const
TheItemType & | ChangeLast ()
TheItemType & | operator() (const Standard_Integer theIndex)
| Operator() - query the value. More...
TheItemType & | ChangeValue (const Standard_Integer theIndex)
| Constructor. More...
TheItemType & | SetValue (const Standard_Integer theIndex, const TheItemType &theValue)
| SetValue () - set or append a value. More...
Public Member Functions inherited from NCollection_BaseVector
void | Clear ()
| Empty the vector of its objects. More...

## Additional Inherited Members
Protected Types inherited from NCollection_BaseVector
typedef void(* | initMemBlocks_t )(NCollection_BaseVector &theVector, MemBlock &theBlock, const Standard_Integer theFirst, const Standard_Integer theSize)
| Allocate memory for array of memory blocks. More...
Protected Member Functions inherited from NCollection_BaseVector
| NCollection_BaseVector (const Handle< NCollection_BaseAllocator > &theAllocator, initMemBlocks_t theInitBlocks, const size_t theSize, const Standard_Integer theInc)
| Empty constructor. More...
| NCollection_BaseVector (const Handle< NCollection_BaseAllocator > &theAllocator, initMemBlocks_t theInitBlocks, const NCollection_BaseVector &theOther)
| Copy constructor. More...
void * | expandV (const Standard_Integer theIndex)
void * | findV (const Standard_Integer theIndex) const
| Locate the memory holding the desired value. More...
MemBlock * | allocMemBlocks (const Standard_Integer theCapacity, MemBlock *theSource=NULL, const Standard_Integer theSourceSize=0)
| Allocate memory for array of memory blocks. More...
Protected Attributes inherited from NCollection_BaseVector
Handle< NCollection_BaseAllocator > | myAllocator
size_t | myItemSize
Standard_Integer | myIncrement
Standard_Integer | myLength
Standard_Integer | myCapacity
Standard_Integer | myNBlocks
MemBlock * | myData
initMemBlocks_t | myInitBlocks

## Detailed Description

### template<class TheItemType>
class NCollection_Vector< TheItemType >

Class NCollection_Vector (dynamic array of objects)

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.

## Member Typedef Documentation

template<class TheItemType>

typedef NCollection_StlIterator<std::random_access_iterator_tag, Iterator, TheItemType, true> NCollection_Vector< TheItemType >::const_iterator

Shorthand for a constant iterator type.

template<class TheItemType>

typedef NCollection_StlIterator<std::random_access_iterator_tag, Iterator, TheItemType, false> NCollection_Vector< TheItemType >::iterator

Shorthand for a regular iterator type.

template<class TheItemType>

typedef TheItemType NCollection_Vector< TheItemType >::value_type

STL-compliant typedef for value type.

## Constructor & Destructor Documentation

template<class TheItemType>

NCollection_Vector< TheItemType >::NCollection_Vector | ( | const Standard_Integer | theIncrement = `256`,
|  | const Handle< NCollection_BaseAllocator > & | theAlloc = `NULL`
| ) |  |
| inline

Constructor.

template<class TheItemType>

NCollection_Vector< TheItemType >::NCollection_Vector | ( | const NCollection_Vector< TheItemType > & | theOther | ) |
| inline

Copy constructor.

template<class TheItemType>

NCollection_Vector< TheItemType >::~NCollection_Vector | ( |  | ) |
| inline

Destructor.

## Member Function Documentation

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::Append | ( | const TheItemType & | theValue | ) |
| inline

Append.

template<class TheItemType >

void NCollection_Vector< TheItemType >::Assign | ( | const NCollection_Vector< TheItemType > & | theOther,
|  | const Standard_Boolean | theOwnAllocator = `Standard_True`
| ) |  |
| inline

Assignment to the collection of the same type.

template<class TheItemType>

iterator NCollection_Vector< TheItemType >::begin | ( |  | ) | const
| inline

Returns an iterator pointing to the first element in the vector.

template<class TheItemType>

const_iterator NCollection_Vector< TheItemType >::cbegin | ( |  | ) | const
| inline

Returns a const iterator pointing to the first element in the vector.

template<class TheItemType>

const_iterator NCollection_Vector< TheItemType >::cend | ( |  | ) | const
| inline

Returns a const iterator referring to the past-the-end element in the vector.

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::ChangeFirst | ( |  | ) |
| inline

Returns
  first element

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::ChangeLast | ( |  | ) |
| inline

Returns
  last element

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::ChangeValue | ( | const Standard_Integer | theIndex | ) |
| inline

Constructor.

template<class TheItemType>

iterator NCollection_Vector< TheItemType >::end | ( |  | ) | const
| inline

Returns an iterator referring to the past-the-end element in the vector.

template<class TheItemType>

const TheItemType& NCollection_Vector< TheItemType >::First | ( |  | ) | const
| inline

Returns
  first element

template<class TheItemType>

Standard_Boolean NCollection_Vector< TheItemType >::IsEmpty | ( |  | ) | const
| inline

Empty query.

template<class TheItemType>

const TheItemType& NCollection_Vector< TheItemType >::Last | ( |  | ) | const
| inline

Returns
  last element

template<class TheItemType>

Standard_Integer NCollection_Vector< TheItemType >::Length | ( | void |  | ) | const
| inline

Total number of items.

template<class TheItemType>

Standard_Integer NCollection_Vector< TheItemType >::Lower | ( | void |  | ) | const
| inline

Method for consistency with other collections.

Returns
  Lower bound (inclusive) for iteration.

template<class TheItemType>

const TheItemType& NCollection_Vector< TheItemType >::operator() | ( | const Standard_Integer | theIndex | ) | const
| inline

Operator() - query the const value.

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::operator() | ( | const Standard_Integer | theIndex | ) |
| inline

Operator() - query the value.

template<class TheItemType>

NCollection_Vector& NCollection_Vector< TheItemType >::operator= | ( | const NCollection_Vector< TheItemType > & | theOther | ) |
| inline

Assignment operator.

template<class TheItemType>

TheItemType& NCollection_Vector< TheItemType >::SetValue | ( | const Standard_Integer | theIndex,
|  | const TheItemType & | theValue
| ) |  |
| inline

SetValue () - set or append a value.

template<class TheItemType>

Standard_Integer NCollection_Vector< TheItemType >::Size | ( |  | ) | const
| inline

Total number of items in the vector.

template<class TheItemType>

Standard_Integer NCollection_Vector< TheItemType >::Upper | ( | void |  | ) | const
| inline

Method for consistency with other collections.

Returns
  Upper bound (inclusive) for iteration.

template<class TheItemType>

const TheItemType& NCollection_Vector< TheItemType >::Value | ( | const Standard_Integer | theIndex | ) | const
| inline

Constructor.

The documentation for this class was generated from the following file:

- NCollection_Vector.hxx