22 #ifndef _vctDynamicMatrixOwner_h
23 #define _vctDynamicMatrixOwner_h
37 template<
class _elementType>
76 SetSize(nsize_type(rows, cols), rowMajor);
87 const nsize_type &
sizes(
void)
const {
99 const nstride_type &
strides(
void)
const {
177 this->
SetSize(nsize_type(rows, cols), rowMajor);
180 void SetSize(
const nsize_type & newSizes,
bool rowMajor) {
181 if ((newSizes == this->
sizes()) && (rowMajor ==
RowMajor))
return;
183 const size_type totalSize = newSizes.ProductOfElements();
184 Own(newSizes, rowMajor, (totalSize == 0) ? 0 :
new value_type[totalSize]);
193 pointer oldData =
Data;
209 return this->
Own(nsize_type(rows, cols), rowMajor, data);
212 pointer
Own(
const nsize_type & newSizes,
bool rowMajor, pointer data) {
213 pointer oldData =
Data;
262 #endif // _vctDynamicMatrixOwner_h
vctDynamicMatrixOwner()
Definition: vctDynamicMatrixOwner.h:54
size_t index_type
Definition: vctContainerTraits.h:36
pointer Own(size_type rows, size_type cols, bool rowMajor, pointer data)
Definition: vctDynamicMatrixOwner.h:208
pointer Own(const nsize_type &newSizes, bool rowMajor, pointer data)
Definition: vctDynamicMatrixOwner.h:212
pointer Pointer(index_type rowIndex, index_type colIndex)
Definition: vctDynamicMatrixOwner.h:111
nstride_type StridesMember
Definition: vctDynamicMatrixOwner.h:252
size_type cols(void) const
Definition: vctDynamicMatrixOwner.h:95
Definition: vctDynamicMatrixOwner.h:43
void Disown(void)
Definition: vctDynamicMatrixOwner.h:226
pointer Release()
Definition: vctDynamicMatrixOwner.h:192
#define CMN_UNUSED(argument)
Definition: cmnPortability.h:479
vctDynamicMatrixOwner(size_type rows, size_type cols, bool rowMajor=VCT_DEFAULT_STORAGE)
Definition: vctDynamicMatrixOwner.h:70
Forward declarations and #define for cisstVector.
const_reverse_iterator rend(void) const
Definition: vctDynamicMatrixOwner.h:150
const nstride_type & strides(void) const
Definition: vctDynamicMatrixOwner.h:99
~vctDynamicMatrixOwner()
Definition: vctDynamicMatrixOwner.h:79
difference_type col_stride(void) const
Definition: vctDynamicMatrixOwner.h:107
const_reverse_iterator rbegin(void) const
Definition: vctDynamicMatrixOwner.h:145
size_t size_type
Definition: vctContainerTraits.h:35
vctVarStrideMatrixIterator< value_type > iterator
Definition: vctDynamicMatrixOwner.h:51
const bool VCT_DEFAULT_STORAGE
Definition: vctForwardDeclarations.h:49
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
bool StorageOrder(void) const
Definition: vctDynamicMatrixOwner.h:246
bool IsRowMajor(void) const
Definition: vctDynamicMatrixOwner.h:238
const nsize_type & sizes(void) const
Definition: vctDynamicMatrixOwner.h:87
nsize_type SizesMember
Definition: vctDynamicMatrixOwner.h:251
void SetSize(const nsize_type &newSizes, bool rowMajor)
Definition: vctDynamicMatrixOwner.h:180
ptrdiff_t difference_type
Definition: vctContainerTraits.h:38
const_pointer Pointer(index_type rowIndex, index_type colIndex) const
Definition: vctDynamicMatrixOwner.h:119
size_type rows(void) const
Definition: vctDynamicMatrixOwner.h:91
vctVarStrideMatrixIterator< value_type > reverse_iterator
Definition: vctDynamicMatrixOwner.h:52
const_iterator begin(void) const
Definition: vctDynamicMatrixOwner.h:127
iterator begin(void)
Definition: vctDynamicMatrixOwner.h:136
Definition: vctDynamicMatrixOwner.h:38
value_type * Data
Definition: vctDynamicMatrixOwner.h:254
pointer Pointer(void)
Definition: vctDynamicMatrixOwner.h:115
Declaration of vctDynamicMatrixRefOwner.
bool IsColMajor(void) const
Definition: vctDynamicMatrixOwner.h:234
reverse_iterator rend(void)
Definition: vctDynamicMatrixOwner.h:160
reverse_iterator rbegin(void)
Definition: vctDynamicMatrixOwner.h:155
void SetSize(size_type rows, size_type cols, bool rowMajor)
Definition: vctDynamicMatrixOwner.h:176
size_type size(void) const
Definition: vctDynamicMatrixOwner.h:83
vctVarStrideMatrixConstIterator< value_type > const_reverse_iterator
Definition: vctDynamicMatrixOwner.h:50
vctDynamicMatrixOwner(const nsize_type &newSizes, bool rowMajor=VCT_DEFAULT_STORAGE)
Definition: vctDynamicMatrixOwner.h:61
bool RowMajor
Definition: vctDynamicMatrixOwner.h:253
vctDynamicMatrixOwner< value_type > ThisType
Definition: vctDynamicMatrixOwner.h:46
VCT_NARRAY_TRAITS_TYPEDEFS(DIMENSION)
difference_type row_stride(void) const
Definition: vctDynamicMatrixOwner.h:103
const_pointer Pointer(void) const
Definition: vctDynamicMatrixOwner.h:123
Definition: vctVarStrideMatrixIterator.h:40
vctVarStrideMatrixConstIterator< value_type > const_iterator
Definition: vctDynamicMatrixOwner.h:49
Declaration of vctVarStrideMatrixConstIterator and vctVarStrideMatrixIterator.
bool IsCompact(void) const
Definition: vctDynamicMatrixOwner.h:242
Definition: vctVarStrideMatrixIterator.h:287
const_iterator end(void) const
Definition: vctDynamicMatrixOwner.h:131
iterator end(void)
Definition: vctDynamicMatrixOwner.h:140