20 #ifndef _vctDynamicVectorRef_h
21 #define _vctDynamicVectorRef_h
76 template <
class _elementType>
116 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
120 this->
SetRef(otherVector, startPosition);
129 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
133 this->
SetRef(otherVector, startPosition, length);
139 template <
class __vectorOwnerType>
142 this->
SetRef(otherVector);
149 template <
class __vectorOwnerType>
153 this->
SetRef(otherVector, startPosition, length);
170 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
184 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
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>
210 template <
class __vectorOwnerType>
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
237 #endif // _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) {
283 #endif // _vctDynamicVectorRef_h
void SetRef(size_type size, value_type *data, stride_type stride=1)
Definition: vctDynamicVectorRefOwner.h:67
OwnerType Vector
Definition: vctDynamicConstVectorBase.h:126
void SetRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector, size_type startPosition, size_type length)
Definition: vctDynamicVectorRef.h:211
A vector object of dynamic size.
Definition: vctDynamicVector.h:127
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
Dynamic vector referencing existing memory (const)
Definition: vctDynamicConstVectorRef.h:79
vctVarStrideVectorIterator< value_type > reverse_iterator
Definition: vctDynamicVectorRefOwner.h:52
VectorOwnerType::const_reverse_iterator const_reverse_iterator
Definition: vctDynamicVectorRef.h:88
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
Definition: vctDynamicVectorBase.h:242
vctDynamicVectorRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorRef.h:140
Dynamic vector referencing existing memory.
Definition: vctDynamicVectorRef.h:77
vctDynamicVectorRef(const ThisType &other)
Definition: vctDynamicVectorRef.h:100
size_t size_type
Definition: vctContainerTraits.h:35
vctVarStrideVectorConstIterator< value_type > const_iterator
Definition: vctDynamicVectorRefOwner.h:49
Declaration of vctDynamicConstVectorRef.
void SetRef(size_type size, pointer data, stride_type stride=1)
Definition: vctDynamicVectorRef.h:156
vctDynamicVectorBase< vctDynamicVectorRefOwner< _elementType >, _elementType > BaseType
Definition: vctDynamicVectorRef.h:83
ThisType & operator=(const ThisType &other)
Definition: vctDynamicVectorRef.h:234
vctDynamicVectorRef< _elementType > ThisType
Definition: vctDynamicVectorRef.h:81
VectorOwnerType::reverse_iterator reverse_iterator
Definition: vctDynamicVectorRef.h:87
vctDynamicVectorRef(size_type size, value_type *data, stride_type stride=1)
Definition: vctDynamicVectorRef.h:106
size_type size(void) const
Definition: vctDynamicConstVectorBase.h:164
BaseType::CopyType CopyType
Definition: vctDynamicVectorRef.h:84
difference_type stride(void) const
Definition: vctFixedSizeConstVectorBase.h:218
reference Element(index_type index)
Definition: vctDynamicVectorBase.h:195
void cmnDeSerializeRaw(std::istream &inputStream, _elementType &data)
Definition: cmnDeSerializer.h:82
size_type size(void) const
Definition: vctFixedSizeConstVectorBase.h:205
vctVarStrideVectorIterator< value_type > iterator
Definition: vctDynamicVectorRefOwner.h:50
difference_type stride() const
Definition: vctDynamicConstVectorBase.h:169
vctDynamicVectorRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition, size_type length)
Definition: vctDynamicVectorRef.h:130
void SetRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorRef.h:199
#define cmnThrow(a)
Definition: MinimalCmn.h:4
Declaration of vctDynamicVectorBase.
const_pointer Pointer(index_type index=0) const
Definition: vctDynamicConstVectorBase.h:221
vctDynamicVectorRef(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector, size_type startPosition, size_type length)
Definition: vctDynamicVectorRef.h:150
pointer Pointer(index_type index=0)
Definition: vctDynamicVectorBase.h:155
A template for a fixed length vector with fixed spacing in memory.
Definition: vctFixedSizeVectorBase.h:76
Definition: vctDynamicVectorRefOwner.h:39
value_type SetAll(const value_type value)
Definition: vctDynamicVectorBase.h:209
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
VectorOwnerType::const_iterator const_iterator
Definition: vctDynamicVectorRef.h:86
void SetRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition, size_type length)
Definition: vctDynamicVectorRef.h:185
vctDynamicVectorRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition=0)
Definition: vctDynamicVectorRef.h:117
Definition: vctDynamicConstVectorBase.h:77
void DeSerializeRaw(std::istream &inputStream)
Definition: vctDynamicVectorRef.h:264
A template for a fixed length vector with fixed spacing in memory.
Definition: vctFixedSizeConstVectorBase.h:107
pointer Pointer(size_type index=0)
Definition: vctFixedSizeVectorBase.h:226
Declaration of cmnDeSerializer and functions cmnDeSerializeRaw.
vctDynamicVectorRef()
Definition: vctDynamicVectorRef.h:91
void SetRef(vctFixedSizeVectorBase< __size, __stride, _elementType, __dataPtrType > &otherVector, size_type startPosition=0)
Definition: vctDynamicVectorRef.h:171
vctVarStrideVectorConstIterator< value_type > const_reverse_iterator
Definition: vctDynamicVectorRefOwner.h:51
Declaration of vctDynamicVectorRefOwner.
Definition: vctDynamicVectorBase.h:61
vctDynamicVectorRefOwner< _elementType > VectorOwnerType
Definition: vctDynamicVectorRef.h:82
VectorOwnerType::iterator iterator
Definition: vctDynamicVectorRef.h:85