20#ifndef _vctDynamicVectorRef_h
21#define _vctDynamicVectorRef_h
76template <
class _elementType>
103 this->
SetRef(other.size(),
const_cast<pointer
>(other.
Pointer()), other.stride());
116 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
118 size_type startPosition = 0)
120 this->
SetRef(otherVector, startPosition);
129 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
131 size_type startPosition, size_type length)
133 this->
SetRef(otherVector, startPosition, length);
139 template <
class __vectorOwnerType>
142 this->
SetRef(otherVector);
149 template <
class __vectorOwnerType>
151 size_type startPosition, size_type length)
153 this->
SetRef(otherVector, startPosition, length);
170 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
172 size_type startPosition = 0)
184 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
186 size_type startPosition, size_type length)
CISST_THROW(std::out_of_range)
188 if (startPosition + length > otherVector.size()) {
189 cmnThrow(std::out_of_range(
"vctDynamicVectorRef SetRef out of range"));
191 SetRef(length, otherVector.Pointer(startPosition), otherVector.stride());
198 template <
class __vectorOwnerType>
201 SetRef(otherVector.size(), otherVector.
Pointer(), otherVector.stride());
210 template <
class __vectorOwnerType>
212 size_type startPosition, size_type length)
CISST_THROW(std::out_of_range)
214 if (startPosition + length > otherVector.size()) {
215 cmnThrow(std::out_of_range(
"vctDynamicVectorRef SetRef out of range"));
217 SetRef(length, otherVector.Pointer(startPosition), otherVector.stride());
230#ifndef _cisstVectorPython_EXPORTS
243 template <
class __vectorOwnerType,
typename __elementType>
248 template <
size_type __size, str
ide_type __str
ide,
class __elementType,
class __dataPtrType>
270 if (mySize != this->
size()) {
271 cmnThrow(std::runtime_error(
"vctDynamicVectorRef::DeSerializeRaw: Sizes of vectors don't match"));
276 for (index = 0; index < mySize; ++index) {
Definition vctForwardDeclarations.h:119
Dynamic vector referencing existing memory (const).
Definition vctDynamicConstVectorRef.h:79
Definition vctDynamicVectorBase.h:62
pointer Pointer(index_type index=0)
Definition vctDynamicVectorBase.h:155
value_type SetAll(const value_type value)
Definition vctDynamicVectorBase.h:209
BaseType::CopyType CopyType
Definition vctDynamicVectorBase.h:79
reference Element(index_type index)
Definition vctDynamicVectorBase.h:195
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
Definition vctDynamicVectorBase.h:242
void SetRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector, size_type startPosition, size_type length) CISST_THROW(std
Definition vctDynamicVectorRef.h:211
vctDynamicVectorRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition=0)
Definition vctDynamicVectorRef.h:117
VectorOwnerType::const_iterator const_iterator
Definition vctDynamicVectorRef.h:86
vctDynamicVectorRef(size_type size, value_type *data, stride_type stride=1)
Definition vctDynamicVectorRef.h:106
vctDynamicVectorRefOwner< value_type > VectorOwnerType
Definition vctDynamicVectorRef.h:82
BaseType::CopyType CopyType
Definition vctDynamicVectorRef.h:84
vctDynamicVectorRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition vctDynamicVectorRef.h:140
ThisType & operator=(const ThisType &other)
Definition vctDynamicVectorRef.h:234
VectorOwnerType::reverse_iterator reverse_iterator
Definition vctDynamicVectorRef.h:87
VectorOwnerType::iterator iterator
Definition vctDynamicVectorRef.h:85
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
vctDynamicVectorRef()
Definition vctDynamicVectorRef.h:91
VectorOwnerType::const_reverse_iterator const_reverse_iterator
Definition vctDynamicVectorRef.h:88
vctDynamicVectorRef(const ThisType &other)
Definition vctDynamicVectorRef.h:100
vctDynamicVectorRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector, size_type startPosition, size_type length)
Definition vctDynamicVectorRef.h:150
void DeSerializeRaw(std::istream &inputStream) CISST_THROW(std
Definition vctDynamicVectorRef.h:264
void SetRef(size_type size, pointer data, stride_type stride=1)
Definition vctDynamicVectorRef.h:156
vctDynamicVectorBase< vctDynamicVectorRefOwner< value_type >, value_type > BaseType
Definition vctDynamicVectorRef.h:83
vctDynamicVectorRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition, size_type length)
Definition vctDynamicVectorRef.h:130
vctDynamicVectorRef< value_type > ThisType
Definition vctDynamicVectorRef.h:81
void SetRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition=0)
Definition vctDynamicVectorRef.h:171
void SetRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition vctDynamicVectorRef.h:199
void SetRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition, size_type length) CISST_THROW(std
Definition vctDynamicVectorRef.h:185
Definition vctDynamicVectorRefOwner.h:40
vctVarStrideVectorIterator< value_type > reverse_iterator
Definition vctDynamicVectorRefOwner.h:52
vctVarStrideVectorConstIterator< value_type > const_iterator
Definition vctDynamicVectorRefOwner.h:49
vctVarStrideVectorConstIterator< value_type > const_reverse_iterator
Definition vctDynamicVectorRefOwner.h:51
vctVarStrideVectorIterator< value_type > iterator
Definition vctDynamicVectorRefOwner.h:50
A template for a fixed length vector with fixed spacing in memory.
Definition vctFixedSizeConstVectorBase.h:108
difference_type stride(void) const
Definition vctFixedSizeConstVectorBase.h:218
size_type size(void) const
Definition vctFixedSizeConstVectorBase.h:205
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
Declaration of cmnDeSerializer and functions cmnDeSerializeRaw.
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data) CISST_THROW(std
Definition cmnDeSerializer.h:82
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
void cmnThrow(const _exceptionType &except, cmnLogLevel lod=CMN_LOG_LEVEL_INIT_ERROR)
Definition cmnThrow.h:76
size_type size(void) const
Definition vctDynamicConstMatrixBase.h:228
difference_type stride(dimension_type dimension) const
Definition vctDynamicConstNArrayBase.h:325
OwnerType Vector
Definition vctDynamicConstVectorBase.h:126
Declaration of vctDynamicConstVectorRef.
Declaration of vctDynamicVectorBase.
Declaration of vctDynamicVectorRefOwner.