20#ifndef _vctFixedSizeVectorRef_h
21#define _vctFixedSizeVectorRef_h
45template <
class _elementType, vct::
size_type _size, vct::str
ide_type _str
ide>
47 _size, _stride, _elementType,
48 typename vctFixedSizeVectorTraits<_elementType, _size, _stride>::pointer >
55 typedef typename BaseType::CopyType
CopyType;
75 template <
size_type __size,
class __dataPtrType>
77 size_type startPosition = 0)
79 SetRef(otherVector, startPosition);
85 template<
class __vectorOwnerType>
87 size_type startPosition = 0)
89 SetRef(otherVector, startPosition);
108 template <
size_type __size,
class __dataPtrType>
110 size_type startPosition = 0)
112 if (startPosition + this->
size() > otherVector.
size()) {
113 cmnThrow(std::out_of_range(
"vctFixedSizeVectorRef SetRef out of range"));
124 template<
class __vectorOwnerType>
126 size_type startPosition = 0)
128 if (this->
stride() != otherVector.stride()) {
129 cmnThrow(std::runtime_error(
"vctFixedSizeVectorRef SetRef with incompatible stride"));
131 if (startPosition + this->
size() > otherVector.size()) {
132 cmnThrow(std::out_of_range(
"vctFixedSizeVectorRef SetRef out of range"));
145 return reinterpret_cast<ThisType &
>(this->Assign(other));
148 template <str
ide_type __str
ide>
150 return reinterpret_cast<ThisType &
>(this->Assign(other));
153 template <str
ide_type __str
ide,
class __elementType,
class __dataPtrType>
155 return reinterpret_cast<ThisType &
>(this->Assign(other));
158 template <
class __vectorOwnerType>
160 return reinterpret_cast<ThisType &
>(this->Assign(other));
Definition vctForwardDeclarations.h:119
Definition vctDynamicVectorBase.h:62
pointer Pointer(index_type index=0)
Definition vctDynamicVectorBase.h:155
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeConstVectorBase.h:108
size_type size(void) const
Definition vctFixedSizeConstVectorBase.h:205
Definition vctForwardDeclarations.h:86
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeVectorBase.h:77
pointer Pointer(size_type index=0)
Definition vctFixedSizeVectorBase.h:226
Definition vctForwardDeclarations.h:89
Define common container related types based on the properties of a fixed size container.
Definition vctFixedSizeVectorTraits.h:46
void cmnThrow(const _exceptionType &except, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_ERROR)
Definition cmnThrow.h:76
#define VCT_CONTAINER_TRAITS_TYPEDEFS(type)
Definition vctContainerTraits.h:50
size_type size(void) const
Definition vctDynamicConstMatrixBase.h:228
vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > ThisType
Definition vctDynamicConstMatrixBase.h:86
difference_type stride(dimension_type dimension) const
Definition vctDynamicConstNArrayBase.h:325
vctDynamicVector< _elementType > CopyType
Definition vctDynamicConstVectorBase.h:102
ThisType & operator=(const vctDynamicConstMatrixBase< __matrixOwnerType, __elementType > &otherMatrix)
Definition vctDynamicMatrix.h:255
vctDynamicNArrayBase< vctDynamicNArrayOwner< _elementType, _dimension >, _elementType, _dimension > BaseType
Definition vctDynamicNArray.h:133
void SetRef(pointer p)
Definition vctFixedSizeConstMatrixRef.h:114
Declaration of vctFixedSizeConstVectorRef.