20 #ifndef _vctDynamicVectorBase_h
21 #define _vctDynamicVectorBase_h
38 template <
class _resultVectorOwnerType,
class _matrixOwnerType,
class _vectorOwnerType,
class _elementType>
45 template <
class _resultVectorOwnerType,
class _vectorOwnerType,
class _matrixOwnerType,
class _elementType>
60 template <
class _vectorOwnerType,
typename _elementType>
92 return this->
Vector.begin();
104 return this->
Vector.rbegin();
110 return this->
Vector.rend();
156 return this->
Vector.Pointer(index);
182 return this->
at(index);
209 inline value_type
SetAll(
const value_type value) {
227 memset(this->
Pointer(), 0, this->
size() *
sizeof(value_type));
230 this->
SetAll(static_cast<value_type>(0));
241 template <
class __vectorOwnerType>
248 typename __vectorOwnerType::value_type>::Identity>::
262 template <
class __vectorOwnerType>
278 template <
class __vectorOwnerType,
typename __elementType>
282 typename __vectorOwnerType::value_type>::Identity>::
287 template <
class __vectorOwnerType,
typename __elementType>
289 return this->
Assign(other);
292 template <
size_type __size, str
ide_type __str
ide,
class __elementType,
class __dataPtrType>
326 template <
class __vectorOwnerType,
typename __elementType>
328 return this->
Assign(other);
331 template <
size_type __size, str
ide_type __str
ide,
class __elementType,
class __dataPtrType>
334 return this->
Assign(other);
398 template <
class __vectorOwnerType>
400 bool performSafetyChecks =
true)
401 throw(std::runtime_error)
406 template <
size_type __size, str
ide_type __str
ide,
class __dataPtrType>
408 bool performSafetyChecks =
true)
409 throw(std::runtime_error)
450 inline ThisType &
Assign(value_type element0, value_type element1, ...) throw(std::runtime_error) {
453 cmnThrow(std::runtime_error(
"vctDynamicVector: Assign from va_list requires size >= 2"));
455 this->
at(0) = element0;
456 this->
at(1) = element1;
458 va_start(nextArg, element1);
473 template <
class __vectorOwnerType,
class __elementType>
475 __elementType lastElement) {
479 Run(firstElements, otherVector);
480 (*this)[otherVector.
size()] = value_type(lastElement);
497 value_type &
X(
void) {
503 const value_type &
X(
void)
const {
510 value_type &
Y(
void) {
516 const value_type &
Y(
void)
const {
523 value_type &
Z(
void) {
529 const value_type &
Z(
void)
const {
535 value_type &
W(
void) {
541 const value_type &
W(
void)
const {
665 if ((startPosition + size) > this->
size()) {
666 cmnThrow(std::out_of_range(
"vctDynamicConstVectorBase::Ref: reference is out of range"));
682 template <
class __inputVectorOwner,
class __indexVectorOwner>
694 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
702 (*this)[0] = inputVector1[1] * inputVector2[2] - inputVector1[2] * inputVector2[1];
703 (*this)[1] = inputVector1[2] * inputVector2[0] - inputVector1[0] * inputVector2[2];
704 (*this)[2] = inputVector1[0] * inputVector2[1] - inputVector1[1] * inputVector2[0];
727 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
732 ::Run(*
this, vector1, vector2);
737 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
742 ::Run(*
this, vector1, vector2);
747 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
752 ::Run(*
this, vector1, vector2);
757 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
762 ::Run(*
this, vector1, vector2);
767 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
772 ::Run(*
this, vector1, vector2);
777 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
782 ::Run(*
this, vector1, vector2);
787 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
792 ::Run(*
this, boundVector, vector);
815 template <
class __vectorOwnerType>
819 Run(*
this, otherVector);
824 template <
class __vectorOwnerType>
828 Run(*
this, otherVector);
833 template <
class __vectorOwnerType>
837 Run(*
this, otherVector);
842 template <
class __vectorOwnerType>
846 Run(*
this, otherVector);
851 template <
class __vectorOwnerType>
855 Run(*
this, otherVector);
860 template <
class __vectorOwnerType>
864 Run(*
this, otherVector);
869 template <
class __vectorOwnerType>
873 Run(*
this, boundVector);
878 template <
class __vectorOwnerType>
880 return this->
Add(otherVector);
884 template <
class __vectorOwnerType>
896 template <
class __vectorOwnerType>
900 Run(*
this, otherVector);
920 template <
class __vectorOwnerType>
922 const value_type scalar) {
925 Run(*
this, vector, scalar);
930 template <
class __vectorOwnerType>
932 const value_type scalar) {
935 Run(*
this, vector, scalar);
940 template <
class __vectorOwnerType>
942 const value_type scalar) {
945 Run(*
this, vector, scalar);
950 template <
class __vectorOwnerType>
952 const value_type scalar) {
955 Run(*
this, vector, scalar);
960 template <
class __vectorOwnerType>
962 const value_type upperBound) {
965 Run(*
this, vector, upperBound);
970 template <
class __vectorOwnerType>
972 const value_type lowerBound) {
975 Run(*
this, vector, lowerBound);
980 template <
class __vectorOwnerType>
982 const value_type bound) {
985 Run(*
this, vector, bound);
1007 template <
class __vectorOwnerType>
1012 Run(*
this, scalar, vector);
1017 template <
class __vectorOwnerType>
1022 Run(*
this, scalar, vector);
1027 template <
class __vectorOwnerType>
1032 Run(*
this, scalar, vector);
1037 template <
class __vectorOwnerType>
1042 Run(*
this, scalar, vector);
1047 template <
class __vectorOwnerType>
1052 Run(*
this, upperBound, vector);
1057 template <
class __vectorOwnerType>
1062 Run(*
this, lowerBound, vector);
1067 template <
class __vectorOwnerType>
1072 Run(*
this, bound, vector);
1129 Run(*
this, upperBound);
1137 Run(*
this, lowerBound);
1151 return this->
Add(scalar);
1166 return this->
Divide(scalar);
1170 template <
class __vectorOwnerType>
1178 Run(*
this, scalar, otherVector);
1182 template <
class __vectorOwnerType1,
class __vectorOwnerType2>
1190 Run(*
this, vector1, vector2);
1210 template <
class __matrixOwnerType,
class __vectorOwnerType>
1227 template <
class __vectorOwnerType,
class __matrixOwnerType>
1275 template <
class __vectorOwnerType>
1279 Run(*
this, otherVector);
1284 template <
class __vectorOwnerType>
1288 Run(*
this, otherVector);
1293 template <
class __vectorOwnerType>
1297 Run(*
this, otherVector);
1302 template <
class __vectorOwnerType>
1306 Run(*
this, otherVector);
1311 template <
class __vectorOwnerType>
1313 *
this = otherVector;
1362 value_type norm = value_type(this->
Norm());
1363 if (norm >= TypeTraits::Tolerance()) {
1366 cmnThrow(std::runtime_error(
"Division by quasi zero detected in vctDynamicVector NormalizedSelf()"));
1376 #endif // _vctDynamicVectorBase_h
size_t index_type
Definition: vctContainerTraits.h:36
vctDynamicVectorRef< _elementType > XZ(void)
Definition: vctDynamicVectorBase.h:556
OwnerType Vector
Definition: vctDynamicConstVectorBase.h:126
value_type & Y(void)
Definition: vctDynamicVectorBase.h:510
const value_type & Y(void) const
Definition: vctDynamicConstVectorBase.h:251
ThisType & ClipBelow(const value_type lowerBound)
Definition: vctDynamicVectorBase.h:1134
ThisType & ElementwiseDivide(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:843
vctDynamicConstVectorRef< _elementType > YZW(void) const
Definition: vctDynamicConstVectorBase.h:327
A vector object of dynamic size.
Definition: vctDynamicVector.h:127
const_iterator end(void) const
Definition: vctDynamicConstVectorBase.h:145
BaseType::const_iterator const_iterator
Definition: vctDynamicVectorBase.h:76
ThisType & DifferenceOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type scalar)
Definition: vctDynamicVectorBase.h:931
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:328
#define CMN_ASSERT(expr)
Definition: cmnAssert.h:90
vctDynamicConstVectorRef< _elementType > YZ(void) const
Definition: vctDynamicConstVectorBase.h:296
ThisType & AbsSelf(void)
Definition: vctDynamicVectorBase.h:1330
const_pointer Pointer(index_type index=0) const
Definition: vctDynamicVectorBase.h:160
vctDynamicVectorRef< _elementType > XY(void)
Definition: vctDynamicVectorBase.h:549
vctDynamicVectorRef< _elementType > YZ(void)
Definition: vctDynamicVectorBase.h:570
ThisType & SumOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type scalar)
Definition: vctDynamicVectorBase.h:921
vctDynamicVectorRef< _elementType > Ref(const size_type size, const size_type startPosition=0)
Definition: vctDynamicVectorBase.h:664
const_reverse_iterator rbegin(void) const
Definition: vctDynamicConstVectorBase.h:151
const value_type & W(void) const
Definition: vctDynamicVectorBase.h:541
Dynamic vector referencing existing memory (const)
Definition: vctDynamicConstVectorRef.h:79
ThisType & Subtract(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:825
const_reference at(size_type index) const
Definition: vctDynamicConstVectorBase.h:190
ThisType & FloorSelf(void)
Definition: vctDynamicVectorBase.h:1346
const_reference Element(index_type index) const
Definition: vctDynamicVectorBase.h:200
ThisType & ElementwiseMax(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:861
void vctMultiplyVectorMatrix(vctDynamicVectorBase< _resultVectorOwnerType, _elementType > &result, const vctDynamicConstVectorBase< _vectorOwnerType, _elementType > &vector, const vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > &matrix)
Definition: vctDynamicMatrixRef.h:409
const_reference operator()(size_type index) const
Definition: vctDynamicConstVectorBase.h:196
bool FastCopyOf(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &source, bool performSafetyChecks=true)
Definition: vctDynamicVectorBase.h:399
const_iterator begin(void) const
Definition: vctDynamicVectorBase.h:114
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:479
vctDynamicVectorRef< _elementType > XYZ(void)
Definition: vctDynamicVectorBase.h:624
vctDynamicConstVectorRef< _elementType > YZ(void) const
Definition: vctDynamicVectorBase.h:605
value_type & W(void)
Definition: vctDynamicVectorBase.h:535
vctDynamicConstVectorRef< _elementType > XZ(void) const
Definition: vctDynamicVectorBase.h:595
vctDynamicConstVectorRef< _elementType > XY(void) const
Definition: vctDynamicVectorBase.h:590
const value_type & Z(void) const
Definition: vctDynamicVectorBase.h:529
ThisType & SumOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:728
ThisType & ProductOf(const value_type scalar, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1028
ThisType & Assign(const value_type *elements)
Definition: vctDynamicVectorBase.h:429
const_reference at(index_type index) const
Definition: vctDynamicVectorBase.h:176
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other)
Definition: vctDynamicVectorBase.h:242
BaseType::iterator iterator
Definition: vctDynamicVectorBase.h:74
static bool VectorCopy(_destinationVectorType &destination, const _sourceVectorType &source, bool performSafetyChecks)
Definition: vctFastCopy.h:165
const value_type & X(void) const
Definition: vctDynamicConstVectorBase.h:243
ThisType & operator+=(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:879
Dynamic vector referencing existing memory.
Definition: vctDynamicVectorRef.h:77
ThisType & ElementwiseClipIn(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &boundVector)
Definition: vctDynamicVectorBase.h:870
vctDynamicConstVectorRef< _elementType > Ref(const size_type size, const size_type startPosition=0) const
Definition: vctDynamicConstVectorBase.h:346
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:609
VectorOwnerType & Owner(void)
Definition: vctDynamicVectorBase.h:148
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:535
cmnVaArgPromotion< _elementType >::Type VaArgPromotion
Definition: cmnTypeTraits.h:167
ThisType & CeilOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1303
vctDynamicVectorRef< _elementType > YW(void)
Definition: vctDynamicVectorBase.h:577
ThisType & Subtract(const value_type scalar)
Definition: vctDynamicVectorBase.h:1102
size_t size_type
Definition: vctContainerTraits.h:35
_vectorOwnerType VectorOwnerType
Definition: vctDynamicVectorBase.h:72
ThisType & NormalizedOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1312
ThisType & ElementwiseClippedInOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &boundVector, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector)
Definition: vctDynamicVectorBase.h:788
reference operator()(index_type index)
Definition: vctDynamicVectorBase.h:181
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, __elementType > &other)
Definition: vctDynamicVectorBase.h:279
TypeTraits::VaArgPromotion ElementVaArgPromotion
Definition: vctDynamicVectorBase.h:85
void ThrowUnlessValidIndex(size_type index) const
Definition: vctDynamicConstVectorBase.h:130
iterator begin(void)
Definition: vctDynamicVectorBase.h:91
const_iterator begin(void) const
Definition: vctDynamicConstVectorBase.h:139
ThisType & Assign(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &other, size_type length, size_type startPositionThis=0, size_type startPositionOther=0)
Definition: vctDynamicVectorBase.h:263
ThisType & Add(const value_type scalar)
Definition: vctDynamicVectorBase.h:1094
ThisType & operator-=(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:885
ThisType & FloorOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1294
ThisType & DifferenceOf(const value_type scalar, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1018
vctDynamicConstVectorRef< _elementType > YZW(void) const
Definition: vctDynamicVectorBase.h:642
Declaration of vctDynamicConstVectorRef.
vctDynamicConstVectorRef< _elementType > XYZW(void) const
Definition: vctDynamicVectorBase.h:657
const_reverse_iterator rend(void) const
Definition: vctDynamicConstVectorBase.h:157
Returns the sum of the two InputType object.
Definition: vctStoreBackBinaryOperations.h:76
ThisType & ElementwiseProductOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:748
Declaration of vctStoreBackBinaryOperations.
const value_type & Z(void) const
Definition: vctDynamicConstVectorBase.h:259
ThisType & SumOf(const value_type scalar, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1008
Definition: vctDynamicConstMatrixBase.h:77
BaseType::CopyType CopyType
Definition: vctDynamicVectorBase.h:79
vctDynamicVectorRef< _elementType > XYZW(void)
Definition: vctDynamicVectorBase.h:651
ThisType & AddElementwiseProductOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:1183
const value_type & X(void) const
Definition: vctDynamicVectorBase.h:503
const value_type & Y(void) const
Definition: vctDynamicVectorBase.h:516
ThisType & Divide(const value_type scalar)
Definition: vctDynamicVectorBase.h:1118
ThisType & Assign(value_type element0, value_type element1,...)
Definition: vctDynamicVectorBase.h:450
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:895
Define unary operations on an object as classes.
Definition: vctUnaryOperations.h:55
size_type size(void) const
Definition: vctDynamicConstVectorBase.h:164
bool FastCopyOf(const vctFixedSizeConstVectorBase< __size, __stride, value_type, __dataPtrType > &source, bool performSafetyChecks=true)
Definition: vctDynamicVectorBase.h:407
ThisType & RatioOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type scalar)
Definition: vctDynamicVectorBase.h:951
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:820
ThisType & ClipIn(const value_type bound)
Definition: vctDynamicVectorBase.h:1142
ThisType & ElementwiseMaxOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:778
vctDynamicConstVectorRef< _elementType > YW(void) const
Definition: vctDynamicConstVectorBase.h:303
const_iterator end(void) const
Definition: vctDynamicVectorBase.h:119
reference at(index_type index)
Definition: vctDynamicVectorBase.h:170
Definition: vctDynamicVectorBase.h:1255
vctDynamicConstVectorRef< _elementType > XW(void) const
Definition: vctDynamicConstVectorBase.h:289
vctDynamicVectorRef< _elementType > YZW(void)
Definition: vctDynamicVectorBase.h:631
vctDynamicConstVectorBase< _vectorOwnerType, _elementType > BaseType
Definition: vctDynamicVectorBase.h:70
ThisType & ConcatenationOf(const vctDynamicConstVectorBase< __vectorOwnerType, __elementType > &otherVector, __elementType lastElement)
Definition: vctDynamicVectorBase.h:474
const VectorOwnerType & Owner(void) const
Definition: vctDynamicVectorBase.h:145
vctDynamicVectorBase ThisType
Definition: vctDynamicVectorBase.h:68
reference Element(index_type index)
Definition: vctDynamicVectorBase.h:195
ThisType & NegationSelf(void)
Definition: vctDynamicVectorBase.h:1338
vctDynamicConstVectorRef< _elementType > XZ(void) const
Definition: vctDynamicConstVectorBase.h:282
vctDynamicConstVectorRef< _elementType > XW(void) const
Definition: vctDynamicVectorBase.h:600
vctDynamicConstVectorRef< _elementType > XY(void) const
Definition: vctDynamicConstVectorBase.h:275
ThisType & ElementwiseMultiply(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:834
ThisType & Assign(const vctFixedSizeConstVectorBase< __size, __stride, __elementType, __dataPtrType > &other)
Definition: vctDynamicVectorBase.h:293
BaseType::VectorValueType VectorValueType
Definition: vctDynamicVectorBase.h:80
vctDynamicConstVectorRef< _elementType > ZW(void) const
Definition: vctDynamicConstVectorBase.h:310
value_type & X(void)
Definition: vctDynamicVectorBase.h:497
bool Zeros(void)
Definition: vctDynamicVectorBase.h:225
ThisType & operator*=(const value_type scalar)
Definition: vctDynamicVectorBase.h:1160
ThisType & ForceAssign(const vctDynamicConstVectorBase< __vectorOwnerType, __elementType > &other)
Definition: vctDynamicVectorBase.h:327
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:255
ThisType & NormalizedSelf(void)
Definition: vctDynamicVectorBase.h:1361
difference_type stride() const
Definition: vctDynamicConstVectorBase.h:169
const_reference operator[](index_type index) const
Definition: vctDynamicVectorBase.h:140
ThisType & Add(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:816
ThisType & ProductOf(const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &inputVector)
Definition: vctDynamicVectorBase.h:1211
ThisType & SwapElementsWith(vctDynamicVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:897
ThisType & RatioOf(const value_type scalar, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1038
ThisType & AddProductOf(const value_type scalar, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1171
vctDynamicConstVectorRef< _elementType > XYZ(void) const
Definition: vctDynamicVectorBase.h:637
const value_type & W(void) const
Definition: vctDynamicConstVectorBase.h:266
bool FastCopyCompatible(const vctDynamicConstVectorBase< __vectorOwnerType, value_type > &source) const
Definition: vctDynamicConstVectorBase.h:592
#define cmnThrow(a)
Definition: MinimalCmn.h:4
const_reference operator[](index_type index) const
Definition: vctDynamicConstVectorBase.h:181
ThisType & ElementwiseMin(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:852
ThisType & ClippedAboveOf(const value_type upperBound, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1048
const_pointer Pointer(index_type index=0) const
Definition: vctDynamicConstVectorBase.h:221
static void Run(_outputVectorType &output, const _inputVectorType &input, const _indexVectorType &index)
Definition: vctDynamicVectorLoopEngines.h:1086
Declaration of vctStoreBackUnaryOperations.
pointer Pointer(index_type index=0)
Definition: vctDynamicVectorBase.h:155
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:97
void vctMultiplyMatrixVector(vctDynamicVectorBase< _resultVectorOwnerType, _elementType > &result, const vctDynamicConstMatrixBase< _matrixOwnerType, _elementType > &matrix, const vctDynamicConstVectorBase< _vectorOwnerType, _elementType > &vector)
Definition: vctDynamicMatrixRef.h:394
VCT_CONTAINER_TRAITS_TYPEDEFS(_elementType)
vctDynamicConstVectorRef< _elementType > YW(void) const
Definition: vctDynamicVectorBase.h:610
vctDynamicVectorRef< value_type > Type
Definition: vctDynamicVectorBase.h:1258
Definition: vctDynamicVectorRefOwner.h:39
value_type SetAll(const value_type value)
Definition: vctDynamicVectorBase.h:209
ThisType & ElementwiseRatioOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:758
reverse_iterator rend(void)
Definition: vctDynamicVectorBase.h:109
Declaration of vctDynamicConstVectorBase.
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:403
ThisType & ClippedAboveOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type upperBound)
Definition: vctDynamicVectorBase.h:961
vctDynamicConstVectorRef< _elementType > XYZW(void) const
Definition: vctDynamicConstVectorBase.h:337
ThisType & DifferenceOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:738
ThisType & CeilSelf(void)
Definition: vctDynamicVectorBase.h:1354
const_reverse_iterator rend(void) const
Definition: vctDynamicVectorBase.h:129
vctDynamicConstVectorRef< _elementType > XYZ(void) const
Definition: vctDynamicConstVectorBase.h:320
ThisType & Multiply(const value_type scalar)
Definition: vctDynamicVectorBase.h:1110
vctDynamicVectorRef< _elementType > XW(void)
Definition: vctDynamicVectorBase.h:563
Definition: vctVarStrideVectorIterator.h:222
Definition: vctDynamicConstVectorBase.h:77
BaseType::reverse_iterator reverse_iterator
Definition: vctDynamicVectorBase.h:75
ThisType & ClippedBelowOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type lowerBound)
Definition: vctDynamicVectorBase.h:971
reverse_iterator rbegin(void)
Definition: vctDynamicVectorBase.h:103
A template for a fixed length vector with fixed spacing in memory.
Definition: vctFixedSizeConstVectorBase.h:107
ThisType & ClipAbove(const value_type upperBound)
Definition: vctDynamicVectorBase.h:1126
ThisType & ElementwiseMinOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &vector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &vector2)
Definition: vctDynamicVectorBase.h:768
void SelectFrom(const vctDynamicConstVectorBase< __inputVectorOwner, _elementType > &input, const vctDynamicConstVectorBase< __indexVectorOwner, index_type > &index)
Definition: vctDynamicVectorBase.h:683
vctDynamicVectorRef< _elementType > ZW(void)
Definition: vctDynamicVectorBase.h:584
NormType Norm(void) const
Definition: vctDynamicConstVectorBase.h:386
vctDynamicConstVectorRef< _elementType > Ref(const size_type size, const size_type startPosition=0) const
Definition: vctDynamicVectorBase.h:672
iterator end(void)
Definition: vctDynamicVectorBase.h:97
const_reference Element(size_type index) const
Definition: vctDynamicConstVectorBase.h:205
vctDynamicConstVectorRef< _elementType > ZW(void) const
Definition: vctDynamicVectorBase.h:615
A collection of useful information about the C++ basic types, represented in a generic programming wa...
Definition: cmnTypeTraits.h:155
ThisType & ClippedInOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type bound)
Definition: vctDynamicVectorBase.h:981
Returns the product of the two InputType object.
Definition: vctBinaryOperations.h:116
ThisType & AbsOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1276
Implement operation of the form for dynamic vectors.
Definition: vctDynamicVectorLoopEngines.h:181
bool IsCompact(void) const
Definition: vctDynamicConstVectorBase.h:578
ThisType & operator=(const vctDynamicConstVectorBase< __vectorOwnerType, __elementType > &other)
Definition: vctDynamicVectorBase.h:288
ThisType & NegationOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &otherVector)
Definition: vctDynamicVectorBase.h:1285
ThisType & ProductOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &inputVector, const vctDynamicConstMatrixBase< __matrixOwnerType, _elementType > &inputMatrix)
Definition: vctDynamicVectorBase.h:1228
BaseType::const_reverse_iterator const_reverse_iterator
Definition: vctDynamicVectorBase.h:77
Definition: vctVarStrideVectorIterator.h:56
const OwnerType & Owner(void) const
Definition: vctDynamicConstVectorBase.h:213
void CrossProductOf(const vctDynamicConstVectorBase< __vectorOwnerType1, _elementType > &inputVector1, const vctDynamicConstVectorBase< __vectorOwnerType2, _elementType > &inputVector2)
Definition: vctDynamicVectorBase.h:695
Container class for the vector loop based engines.
Definition: vctDynamicVectorLoopEngines.h:66
ThisType & ProductOf(const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector, const value_type scalar)
Definition: vctDynamicVectorBase.h:941
reference operator[](index_type index)
Definition: vctDynamicVectorBase.h:135
const_reverse_iterator rbegin(void) const
Definition: vctDynamicVectorBase.h:124
ThisType & ClippedBelowOf(const value_type lowerBound, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1058
ThisType & ForceAssign(const vctFixedSizeConstVectorBase< __size, __stride, __elementType, __dataPtrType > &other)
Definition: vctDynamicVectorBase.h:332
value_type & Z(void)
Definition: vctDynamicVectorBase.h:523
ThisType & ClippedInOf(const value_type bound, const vctDynamicConstVectorBase< __vectorOwnerType, _elementType > &vector)
Definition: vctDynamicVectorBase.h:1068
ThisType & operator/=(const value_type scalar)
Definition: vctDynamicVectorBase.h:1165
Definition: vctDynamicVectorBase.h:61