Open CASCADE Technology
7.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 | 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... | |
virtual | ~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... | |
TheItemType & | Appended () |
Appends an empty value and returns the reference to it. More... | |
const TheItemType & | operator() (const Standard_Integer theIndex) const |
Operator() - query the const value. More... | |
const TheItemType & | operator[] (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 & | operator[] (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... | |
void | SetIncrement (const Standard_Integer aIncrement) |
Empty the vector of its objects. More... | |
const Handle< NCollection_BaseAllocator > & | Allocator () const |
Returns attached allocator. 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... | |
virtual | ~NCollection_BaseVector () |
Destructor. 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 |
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:
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 NCollection_StlIterator<std::random_access_iterator_tag, Iterator, TheItemType, true> NCollection_Vector< TheItemType >::const_iterator |
Shorthand for a constant iterator type.
typedef NCollection_StlIterator<std::random_access_iterator_tag, Iterator, TheItemType, false> NCollection_Vector< TheItemType >::iterator |
Shorthand for a regular iterator type.
typedef TheItemType NCollection_Vector< TheItemType >::value_type |
STL-compliant typedef for value type.
|
inlineexplicit |
Constructor.
|
inline |
Copy constructor.
|
inlinevirtual |
Destructor.
|
inline |
Append.
|
inline |
Appends an empty value and returns the reference to it.
|
inline |
Assignment to the collection of the same type.
|
inline |
Returns an iterator pointing to the first element in the vector.
|
inline |
Returns a const iterator pointing to the first element in the vector.
|
inline |
Returns a const iterator referring to the past-the-end element in the vector.
|
inline |
|
inline |
|
inline |
Constructor.
|
inline |
Returns an iterator referring to the past-the-end element in the vector.
|
inline |
|
inline |
Empty query.
|
inline |
|
inline |
Total number of items.
|
inline |
Method for consistency with other collections.
|
inline |
Operator() - query the value.
|
inline |
Operator() - query the const value.
|
inline |
Assignment operator.
|
inline |
Operator[] - query the value.
|
inline |
Operator[] - query the const value.
|
inline |
SetValue () - set or append a value.
|
inline |
Total number of items in the vector.
|
inline |
Method for consistency with other collections.
|
inline |
Constructor.