20#ifndef _vctDynamicNArrayBase_h
21#define _vctDynamicNArrayBase_h
39template<
class _nArrayOwnerType,
typename _elementType, vct::
size_type _dimension>
93 return this->
NArray.begin();
106 return this->
NArray.end();
119 return this->
NArray.rbegin();
132 return this->
NArray.rend();
156 return this->
NArray.Pointer(indices);
160 const_pointer
Pointer(
const nsize_type & indices)
const
170 return this->
NArray.Pointer();
184 reference
at(size_type metaIndex)
188 return (
begin())[metaIndex];
193 const_reference
at(size_type metaIndex)
const
204 reference
at(
const nsize_type & coordinates)
208 return *(
Pointer(coordinates));
212 const_reference
at(
const nsize_type & coordinates)
const
223 return this->
at(coordinates);
227 const_reference
operator () (
const nsize_type & coordinates)
const
239 reference
Element(
const nsize_type & coordinates)
241 return *(
Pointer(coordinates));
245 const_reference
Element(
const nsize_type & coordinates)
const
258 const nsize_type & lengths)
261 subarray.
SubarrayOf(*
this, startPosition, lengths);
268 const nsize_type & lengths)
const
305 return SlicesTypes::SliceOf(*
this,
dimension, index);
322 return this->
Slice(0, index);
340 NioSi<typename vctStoreBackBinaryOperations<value_type>::SecondOperand>::
369 template <
class __nArrayOwnerType>
376 typename __nArrayOwnerType::value_type>::Identity>::
390 template <
class __nArrayOwnerType,
typename __elementType>
395 typename __nArrayOwnerType::value_type>::Identity>::
400 template <
class __nArrayOwnerType,
typename __elementType>
403 return this->
Assign(other);
429 typename nsize_type::const_reverse_iterator sizesIter = this->
sizes().rbegin();
430 typename nstride_type::reverse_iterator stridesIter =
strides.rbegin();
431 const typename nstride_type::const_reverse_iterator stridesEnd =
strides.rend();
432 size_type sizesIter_value;
433 stride_type previous_stride;
435 if (stridesIter != stridesEnd)
442 for (; stridesIter != stridesEnd;
443 ++stridesIter, ++sizesIter)
445 sizesIter_value = (*sizesIter == 0) ? 1 : *sizesIter;
446 *stridesIter = sizesIter_value * previous_stride;
447 previous_stride = *stridesIter;
476 template <
class __nArrayOwnerType,
typename __elementType>
478 return this->
Assign(other);
542 template <
class __nArrayOwnerType>
544 bool performSafetyChecks =
true)
568 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
573 NoNiNi< typename vctBinaryOperations<value_type>::Addition >
574 ::Run(*
this, nArray1, nArray2);
579 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
584 NoNiNi< typename vctBinaryOperations<value_type>::Subtraction >
585 ::Run(*
this, nArray1, nArray2);
590 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
595 NoNiNi< typename vctBinaryOperations<value_type>::Multiplication >
596 ::Run(*
this, nArray1, nArray2);
601 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
606 NoNiNi< typename vctBinaryOperations<value_type>::Division >
607 ::Run(*
this, nArray1, nArray2);
612 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
617 NoNiNi< typename vctBinaryOperations<value_type>::Minimum >
618 ::Run(*
this, nArray1, nArray2);
623 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
628 NoNiNi< typename vctBinaryOperations<value_type>::Maximum >
629 ::Run(*
this, nArray1, nArray2);
652 template <
class __nArrayOwnerType>
656 NioNi<typename vctStoreBackBinaryOperations<value_type>::Addition >::
657 Run(*
this, otherNArray);
662 template <
class __nArrayOwnerType>
666 NioNi< typename vctStoreBackBinaryOperations<value_type>::Subtraction >::
667 Run(*
this, otherNArray);
672 template <
class __nArrayOwnerType>
676 NioNi< typename vctStoreBackBinaryOperations<value_type>::Multiplication >::
677 Run(*
this, otherNArray);
682 template <
class __nArrayOwnerType>
686 NioNi< typename vctStoreBackBinaryOperations<value_type>::Division >::
687 Run(*
this, otherNArray);
692 template <
class __nArrayOwnerType>
696 NioNi< typename vctStoreBackBinaryOperations<value_type>::Minimum >::
697 Run(*
this, otherNArray);
702 template <
class __nArrayOwnerType>
706 NioNi< typename vctStoreBackBinaryOperations<value_type>::Maximum >::
707 Run(*
this, otherNArray);
712 template <
class __nArrayOwnerType>
715 return this->
Add(otherNArray);
719 template <
class __nArrayOwnerType>
742 template <
class __nArrayOwnerType>
747 NoNiSi< typename vctBinaryOperations<value_type>::Addition >::
748 Run(*
this, nArray, scalar);
753 template <
class __nArrayOwnerType>
758 NoNiSi< typename vctBinaryOperations<value_type>::Subtraction >::
759 Run(*
this, nArray, scalar);
764 template <
class __nArrayOwnerType>
769 NoNiSi< typename vctBinaryOperations<value_type>::Multiplication >::
770 Run(*
this, nArray, scalar);
775 template <
class __nArrayOwnerType>
780 NoNiSi< typename vctBinaryOperations<value_type>::Division >::
781 Run(*
this, nArray, scalar);
786 template <
class __nArrayOwnerType>
791 NoNiSi<typename vctBinaryOperations<value_type>::Minimum>::
792 Run(*
this, nArray, lowerBound);
797 template <
class __nArrayOwnerType>
802 NoNiSi< typename vctBinaryOperations<value_type>::Maximum >::
803 Run(*
this, nArray, upperBound);
825 template <
class __nArrayOwnerType>
830 NoSiNi< typename vctBinaryOperations<value_type>::Addition >::
831 Run(*
this, scalar, nArray);
836 template <
class __nArrayOwnerType>
841 NoSiNi< typename vctBinaryOperations<value_type>::Subtraction >::
842 Run(*
this, scalar, nArray);
847 template <
class __nArrayOwnerType>
852 NoSiNi< typename vctBinaryOperations<value_type>::Multiplication >::
853 Run(*
this, scalar, nArray);
858 template <
class __nArrayOwnerType>
863 NoSiNi< typename vctBinaryOperations<value_type>::Division >::
864 Run(*
this, scalar, nArray);
869 template <
class __nArrayOwnerType>
874 NoSiNi< typename vctBinaryOperations<value_type>::Minimum >::
875 Run(*
this, upperBound, nArray);
880 template <
class __nArrayOwnerType>
885 NoSiNi< typename vctBinaryOperations<value_type>::Maximum >::
886 Run(*
this, lowerBound, nArray);
910 NioSi< typename vctStoreBackBinaryOperations<value_type>::Addition >::
919 NioSi< typename vctStoreBackBinaryOperations<value_type>::Subtraction >::
928 NioSi< typename vctStoreBackBinaryOperations<value_type>::Multiplication >::
937 NioSi< typename vctStoreBackBinaryOperations<value_type>::Division >::
946 NioSi< typename vctStoreBackBinaryOperations<value_type>::Minimum >::
947 Run(*
this, upperBound);
955 NioSi< typename vctStoreBackBinaryOperations<value_type>::Maximum >::
956 Run(*
this, lowerBound);
963 return this->
Add(scalar);
981 return this->
Divide(scalar);
986 template <
class __nArrayOwnerType>
991 NioSiNi<typename vctStoreBackBinaryOperations<value_type>::Addition,
993 Run(*
this, scalar, otherNArray);
999 template <
class __nArrayOwnerType1,
class __nArrayOwnerType2>
1004 NioNiNi<typename vctStoreBackBinaryOperations<value_type>::Addition,
1006 Run(*
this, nArray1, nArray2);
1024 template <
class __nArrayOwnerType>
1028 NoNi<typename vctUnaryOperations<value_type>::AbsValue>::
1029 Run(*
this, otherNArray);
1034 template <
class __nArrayOwnerType>
1038 NoNi<typename vctUnaryOperations<value_type>::Negation>::
1039 Run(*
this, otherNArray);
1044 template <
class __nArrayOwnerType>
1048 NoNi<typename vctUnaryOperations<value_type>::Floor>::
1049 Run(*
this, otherNArray);
1054 template <
class __nArrayOwnerType>
1058 NoNi<typename vctUnaryOperations<value_type>::Ceil>::
1059 Run(*
this, otherNArray);
1078 Nio<typename vctStoreBackUnaryOperations<value_type>::MakeAbs>::
1087 Nio<typename vctStoreBackUnaryOperations<value_type>::MakeNegation>::
1096 Nio<typename vctStoreBackUnaryOperations<value_type>::MakeFloor>::
1105 Nio<typename vctStoreBackUnaryOperations<value_type>::MakeCeil>::
Returns the product of the two InputType object.
Definition vctBinaryOperations.h:116
Definition vctForwardDeclarations.h:171
Dynamic nArray referencing existing memory (const).
Definition vctDynamicConstNArrayRef.h:91
Definition vctDynamicNArrayBase.h:41
BaseType::ConstSubarrayRefType ConstSubarrayRefType
Definition vctDynamicNArrayBase.h:69
ThisType & AddProductOf(const value_type scalar, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:987
ThisType & ElementwiseRatioOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:602
ThisType & SumOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type scalar)
Definition vctDynamicNArrayBase.h:743
ThisType & ClippedAboveOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type lowerBound)
Definition vctDynamicNArrayBase.h:787
ThisType & ElementwiseProductOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:591
ThisType & ClipAbove(const value_type upperBound)
Definition vctDynamicNArrayBase.h:943
const_pointer Pointer(const nsize_type &indices) const
Definition vctDynamicNArrayBase.h:160
ThisType & NegationSelf(void)
Definition vctDynamicNArrayBase.h:1084
const_reference at(const nsize_type &coordinates) const CISST_THROW(std
Definition vctDynamicNArrayBase.h:212
reverse_iterator rbegin(void)
Definition vctDynamicNArrayBase.h:117
ThisType & Add(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:653
vctDynamicNArrayBase ThisType
Definition vctDynamicNArrayBase.h:48
ThisType & DifferenceOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:580
const_reverse_iterator rend(void) const
Definition vctDynamicNArrayBase.h:136
const_reverse_iterator rbegin(void) const
Definition vctDynamicNArrayBase.h:123
BaseType::PermutationRefType PermutationRefType
Definition vctDynamicNArrayBase.h:77
const_reference Element(const nsize_type &coordinates) const
Definition vctDynamicNArrayBase.h:245
ThisType & Subtract(const value_type scalar)
Definition vctDynamicNArrayBase.h:916
const OwnerType & Owner(void) const
Definition vctDynamicNArrayBase.h:143
ConstPermutationRefType Permutation(const ndimension_type &dimensions) const
Definition vctDynamicNArrayBase.h:289
SliceRefType operator[](size_type index)
Definition vctDynamicNArrayBase.h:320
iterator end(void)
Definition vctDynamicNArrayBase.h:104
ThisType & ClippedAboveOf(const value_type upperBound, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:870
ThisType & RatioOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type scalar)
Definition vctDynamicNArrayBase.h:776
BaseType::SubarrayRefType SubarrayRefType
Definition vctDynamicNArrayBase.h:70
OwnerType::reverse_iterator reverse_iterator
Definition vctDynamicNArrayBase.h:62
ThisType & DifferenceOf(const value_type scalar, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:837
value_type SetAll(const value_type value)
Definition vctDynamicNArrayBase.h:337
BaseType::SlicesTypes SlicesTypes
Definition vctDynamicNArrayBase.h:83
ThisType & Assign(const value_type *elements)
Definition vctDynamicNArrayBase.h:426
ThisType & operator/=(const value_type scalar)
Definition vctDynamicNArrayBase.h:979
ThisType & SumOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:569
ConstSliceRefType operator[](size_type index) const
Definition vctDynamicNArrayBase.h:327
ThisType & Multiply(const value_type scalar)
Definition vctDynamicNArrayBase.h:925
ThisType & ElementwiseDivide(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:683
ThisType & ElementwiseMaxOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:624
SliceRefType Slice(dimension_type dimension, size_type index)
Definition vctDynamicNArrayBase.h:303
OwnerType::const_reverse_iterator const_reverse_iterator
Definition vctDynamicNArrayBase.h:63
ThisType & Divide(const value_type scalar)
Definition vctDynamicNArrayBase.h:934
ThisType & ProductOf(const value_type scalar, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:848
ThisType & operator-=(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:720
ThisType & ElementwiseMax(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:703
iterator begin(void)
Definition vctDynamicNArrayBase.h:91
ThisType & AddElementwiseProductOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:1000
ThisType & SumOf(const value_type scalar, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:826
ThisType & ClippedBelowOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type upperBound)
Definition vctDynamicNArrayBase.h:798
ThisType & Subtract(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:663
const_pointer Pointer(void) const
Definition vctDynamicNArrayBase.h:174
ThisType & NegationOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:1035
OwnerType & Owner(void)
Definition vctDynamicNArrayBase.h:146
OwnerType::const_iterator const_iterator
Definition vctDynamicNArrayBase.h:61
ThisType & ClipBelow(const value_type lowerBound)
Definition vctDynamicNArrayBase.h:952
ThisType & ClippedBelowOf(const value_type lowerBound, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:881
ThisType & ForceAssign(const vctDynamicConstNArrayBase< __nArrayOwnerType, __elementType, DIMENSION > &other)
Definition vctDynamicNArrayBase.h:477
ThisType & AbsOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:1025
ThisType & CeilSelf(void)
Definition vctDynamicNArrayBase.h:1102
pointer Pointer(const nsize_type &indices)
Definition vctDynamicNArrayBase.h:154
vctDynamicNArrayOwner< _elementType, _dimension > OwnerType
Definition vctDynamicNArrayBase.h:54
ConstSubarrayRefType Subarray(const nsize_type &startPosition, const nsize_type &lengths) const
Definition vctDynamicNArrayBase.h:267
reference at(size_type metaIndex) CISST_THROW(std
Definition vctDynamicNArrayBase.h:184
BaseType::ConstPermutationRefType ConstPermutationRefType
Definition vctDynamicNArrayBase.h:76
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
ThisType & Assign(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &other)
Definition vctDynamicNArrayBase.h:370
@ DIMENSION
Definition vctDynamicNArrayBase.h:56
reverse_iterator rend(void)
Definition vctDynamicNArrayBase.h:130
ConstSliceRefType Slice(dimension_type dimension, size_type index) const
Definition vctDynamicNArrayBase.h:310
const_iterator end(void) const
Definition vctDynamicNArrayBase.h:110
ThisType & operator=(const vctDynamicConstNArrayBase< __nArrayOwnerType, __elementType, DIMENSION > &other)
Definition vctDynamicNArrayBase.h:401
bool FastCopyOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &source, bool performSafetyChecks=true) CISST_THROW(std
Definition vctDynamicNArrayBase.h:543
ThisType & ProductOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type scalar)
Definition vctDynamicNArrayBase.h:765
ThisType & FloorSelf(void)
Definition vctDynamicNArrayBase.h:1093
const_iterator begin(void) const
Definition vctDynamicNArrayBase.h:97
reference Element(const nsize_type &coordinates)
Definition vctDynamicNArrayBase.h:239
bool Zeros(void)
Definition vctDynamicNArrayBase.h:354
ThisType & DifferenceOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray, const value_type scalar)
Definition vctDynamicNArrayBase.h:754
vctDynamicConstNArrayBase< vctDynamicNArrayOwner< _elementType, _dimension >, _elementType, _dimension > BaseType
Definition vctDynamicNArrayBase.h:51
PermutationRefType Permutation(const ndimension_type &dimensions)
Definition vctDynamicNArrayBase.h:280
ThisType & ElementwiseMultiply(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:673
BaseType::ConstSliceRefType ConstSliceRefType
Definition vctDynamicNArrayBase.h:84
BaseType::SliceRefType SliceRefType
Definition vctDynamicNArrayBase.h:85
ThisType & AbsSelf(void)
Definition vctDynamicNArrayBase.h:1075
reference at(const nsize_type &coordinates) CISST_THROW(std
Definition vctDynamicNArrayBase.h:204
ThisType & FloorOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:1045
ThisType & operator+=(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:713
ThisType & RatioOf(const value_type scalar, const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &nArray)
Definition vctDynamicNArrayBase.h:859
ThisType & Assign(const vctDynamicConstNArrayBase< __nArrayOwnerType, __elementType, DIMENSION > &other)
Definition vctDynamicNArrayBase.h:391
const_reference at(size_type metaIndex) const CISST_THROW(std
Definition vctDynamicNArrayBase.h:193
ThisType & operator*=(const value_type scalar)
Definition vctDynamicNArrayBase.h:973
reference operator()(const nsize_type &coordinates) CISST_THROW(std
Definition vctDynamicNArrayBase.h:220
ThisType & ElementwiseMinOf(const vctDynamicConstNArrayBase< __nArrayOwnerType1, value_type, DIMENSION > &nArray1, const vctDynamicConstNArrayBase< __nArrayOwnerType2, value_type, DIMENSION > &nArray2)
Definition vctDynamicNArrayBase.h:613
ThisType & CeilOf(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:1055
ThisType & ElementwiseMin(const vctDynamicConstNArrayBase< __nArrayOwnerType, value_type, DIMENSION > &otherNArray)
Definition vctDynamicNArrayBase.h:693
ThisType & Add(const value_type scalar)
Definition vctDynamicNArrayBase.h:907
pointer Pointer(void)
Definition vctDynamicNArrayBase.h:168
SubarrayRefType Subarray(const nsize_type &startPosition, const nsize_type &lengths)
Definition vctDynamicNArrayBase.h:257
VCT_NARRAY_TRAITS_TYPEDEFS(_dimension)
OwnerType::iterator iterator
Definition vctDynamicNArrayBase.h:60
Container class for the dynamic nArray engines.
Definition vctDynamicNArrayLoopEngines.h:42
vctVarStrideNArrayConstIterator< ThisType, false > const_reverse_iterator
Definition vctDynamicNArrayOwner.h:52
vctVarStrideNArrayIterator< ThisType, true > iterator
Definition vctDynamicNArrayOwner.h:49
vctVarStrideNArrayConstIterator< ThisType, true > const_iterator
Definition vctDynamicNArrayOwner.h:50
vctVarStrideNArrayIterator< ThisType, false > reverse_iterator
Definition vctDynamicNArrayOwner.h:51
@ DIMENSION
Definition vctDynamicNArrayOwner.h:43
void SubarrayOf(vctDynamicNArrayBase< __ownerType, _elementType, DIMENSION > &otherNArray, const nsize_type &startPosition, const nsize_type &lengths)
Definition vctDynamicNArrayRef.h:202
void PermutationOf(vctDynamicNArrayBase< __ownerType, _elementType, DIMENSION > &otherNArray, const ndimension_type &dimensions)
Definition vctDynamicNArrayRef.h:218
static bool NArrayCopy(_destinationNArrayType &destination, const _sourceNArrayType &source, bool performSafetyChecks)
Definition vctFastCopy.h:284
Define unary operations on an object as classes.
Definition vctUnaryOperations.h:56
#define CISST_THROW(exceptionParameter)
Somewhat portable compilation warning message. This works with very recent versions of gcc (4....
Definition cmnPortability.h:559
size_type size(void) const
Definition vctDynamicConstMatrixBase.h:228
bool IsCompact(void) const
Definition vctDynamicConstMatrixBase.h:641
const nsize_type & sizes(void) const
Definition vctDynamicConstMatrixBase.h:233
const nstride_type & strides(void) const
Definition vctDynamicConstMatrixBase.h:258
void ThrowUnlessValidIndex(size_type index) const CISST_THROW(std
Definition vctDynamicConstMatrixBase.h:171
bool FastCopyCompatible(const vctDynamicConstMatrixBase< __matrixOwnerType, value_type > &source) const
Definition vctDynamicConstMatrixBase.h:677
Declaration of vctDynamicConstNArrayBase.
dimension_type dimension(void) const
Definition vctDynamicConstNArrayBase.h:331
OwnerType NArray
Definition vctDynamicConstNArrayBase.h:226
Declaration of vctStoreBackBinaryOperations.
Declaration of vctStoreBackUnaryOperations.