22 #ifndef _vctDynamicNArrayOwner_h
23 #define _vctDynamicNArrayOwner_h
35 template <
class _elementType, vct::
size_type _dimension>
83 const nsize_type &
sizes(
void)
const
146 indicesRef(reinterpret_cast<stride_type *>(const_cast<size_type *>(indices.Pointer())));
159 const_pointer
Pointer(
const nsize_type & indices)
const
162 indicesRef(reinterpret_cast<stride_type *>(const_cast<size_type *>(indices.Pointer())));
226 const size_type totalSize = sizes.ProductOfElements();
227 Own(sizes, (totalSize == 0) ? 0 :
new value_type[totalSize]);
236 value_type* oldData =
Data;
250 value_type *
Own(
const nsize_type &
sizes, value_type * data)
252 value_type* oldData =
Data;
286 typename nsize_type::const_reverse_iterator sizesIter =
SizesMember.rbegin();
287 typename nstride_type::reverse_iterator stridesIter =
StridesMember.rbegin();
288 const typename nstride_type::const_reverse_iterator stridesEnd =
StridesMember.rend();
292 if (stridesIter == stridesEnd)
299 for (; stridesIter != stridesEnd;
300 ++stridesIter, ++sizesIter)
302 sizesIter_value = (*sizesIter == 0) ? 1 : *sizesIter;
303 *stridesIter = sizesIter_value * previous_stride;
304 previous_stride = *stridesIter;
315 #endif // _vctDynamicNArrayOwner_h
reverse_iterator rbegin(void)
Definition: vctDynamicNArrayOwner.h:186
void Disown(void)
Definition: vctDynamicNArrayOwner.h:269
nstride_type StridesMember
Definition: vctDynamicNArrayOwner.h:279
bool IsCompact(void) const
Definition: vctDynamicNArrayOwner.h:208
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
const_iterator begin(void) const
Definition: vctDynamicNArrayOwner.h:176
iterator begin(void)
Definition: vctDynamicNArrayOwner.h:166
value_type * Own(const nsize_type &sizes, value_type *data)
Definition: vctDynamicNArrayOwner.h:250
Definition: vctDynamicNArrayOwner.h:36
pointer Pointer(const nsize_type &indices)
Definition: vctDynamicNArrayOwner.h:143
Forward declarations and #define for cisstVector.
const_pointer Pointer(void) const
Definition: vctDynamicNArrayOwner.h:152
An implementation of the ``abstract'' vctFixedSizeConstVectorBase.
Definition: vctFixedSizeConstVectorRef.h:50
size_t size_type
Definition: vctContainerTraits.h:35
vctVarStrideNArrayIterator< ThisType, false > reverse_iterator
Definition: vctDynamicNArrayOwner.h:51
~vctDynamicNArrayOwner()
Definition: vctDynamicNArrayOwner.h:69
vctVarStrideNArrayIterator< ThisType, true > iterator
Definition: vctDynamicNArrayOwner.h:49
vctDynamicNArrayOwner< _elementType, _dimension > ThisType
Definition: vctDynamicNArrayOwner.h:46
const_pointer Pointer(const nsize_type &indices) const
Definition: vctDynamicNArrayOwner.h:159
reverse_iterator rend(void)
Definition: vctDynamicNArrayOwner.h:192
Definition: vctDynamicNArrayOwner.h:43
value_type * Release(void)
Definition: vctDynamicNArrayOwner.h:234
stride_type stride(dimension_type dimension) const
Definition: vctDynamicNArrayOwner.h:126
size_type size(dimension_type dimension) const
Definition: vctDynamicNArrayOwner.h:94
Definition: vctForwardDeclarations.h:77
dimension_type dimension(void) const
Definition: vctDynamicNArrayOwner.h:76
value_type * Data
Definition: vctDynamicNArrayOwner.h:280
const nstride_type & strides(void) const
Definition: vctDynamicNArrayOwner.h:118
void clear(void)
Definition: vctDynamicNArrayOwner.h:262
pointer Pointer(void)
Definition: vctDynamicNArrayOwner.h:136
nsize_type SizesMember
Definition: vctDynamicNArrayOwner.h:278
void SetSize(const nsize_type &sizes)
Definition: vctDynamicNArrayOwner.h:222
const nsize_type & sizes(void) const
Definition: vctDynamicNArrayOwner.h:83
iterator end(void)
Definition: vctDynamicNArrayOwner.h:171
ptrdiff_t stride_type
Definition: vctContainerTraits.h:37
Definition: vctForwardDeclarations.h:74
VCT_NARRAY_TRAITS_TYPEDEFS(_dimension)
const_reverse_iterator rend(void) const
Definition: vctDynamicNArrayOwner.h:203
const_iterator end(void) const
Definition: vctDynamicNArrayOwner.h:181
size_type size(void) const
Definition: vctDynamicNArrayOwner.h:108
vctVarStrideNArrayConstIterator< ThisType, true > const_iterator
Definition: vctDynamicNArrayOwner.h:50
const_reverse_iterator rbegin(void) const
Definition: vctDynamicNArrayOwner.h:197
vctVarStrideNArrayConstIterator< ThisType, false > const_reverse_iterator
Definition: vctDynamicNArrayOwner.h:52
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
vctDynamicNArrayOwner()
Definition: vctDynamicNArrayOwner.h:55
vctDynamicNArrayOwner(const nsize_type &sizes)
Definition: vctDynamicNArrayOwner.h:61
void UpdateStrides(void)
Definition: vctDynamicNArrayOwner.h:284