#include <vctFixedSizeVector.h>
Inheritance diagram for vctFixedSizeVector< _elementType, _size >:


The vector type is stored as a contiguous array of a fixed size (stack allocation). It provides methods for operations which are implemented using template metaprogramming. See vctFixedSizeConstVectorBase and vctFixedSizeVectorBase for more implementation details.
| _elementType | the type of an element in the vector | |
| _size | the size of the vector |
value_type *. You can use vctFixedSizeVectorBase::Assign(const value_type * ) for that purpose. The reason is we did not want to have too many functions in the first place.
Definition at line 53 of file vctFixedSizeVector.h.
| typedef vctFixedSizeVectorTraits<_elementType, _size, 1> vctFixedSizeVector< _elementType, _size >::VectorTraits |
Type traits for the vector. Based on type of elements, size and stride, it defines array, pointer, etc. (see vctFixedSizeVectorTraits).
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Definition at line 65 of file vctFixedSizeVector.h.
| typedef vctFixedSizeVector<value_type, _size> vctFixedSizeVector< _elementType, _size >::ThisType |
Type of the vector itself.
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Reimplemented in mtsFixedSizeVector< _elementType, _size >, vctBarycentricVector< _elementType, _size >, vctQuaternion< _elementType >, vctQuaternionRotation3< _elementType >, vctRodriguezRotation3< _elementType >, vctQuaternionBase< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionBase< vctFixedSizeVector< double, 4 > >, vctQuaternionRotation3< double >, vctQuaternionRotation3Base< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >, and vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >.
Definition at line 68 of file vctFixedSizeVector.h.
| typedef vctFixedSizeVectorBase<_size, 1, _elementType, typename VectorTraits::array> vctFixedSizeVector< _elementType, _size >::BaseType |
Type of the base class.
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Reimplemented in vctBarycentricVector< _elementType, _size >, vctQuaternion< _elementType >, vctQuaternionRotation3< _elementType >, vctRodriguezRotation3< _elementType >, vctQuaternionBase< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionBase< vctFixedSizeVector< double, 4 > >, vctQuaternionRotation3< double >, vctQuaternionRotation3Base< vctFixedSizeVector< _elementType, 4 > >, vctQuaternionRotation3Base< vctFixedSizeVector< double, 4 > >, and vctRodriguezRotation3Base< vctFixedSizeVector< _elementType, 3 > >.
Definition at line 69 of file vctFixedSizeVector.h.
| typedef BaseType::CopyType vctFixedSizeVector< _elementType, _size >::CopyType |
The type used to create a copy.
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Definition at line 70 of file vctFixedSizeVector.h.
| typedef class cmnTypeTraits< value_type > vctFixedSizeVector< _elementType, _size >::TypeTraits |
Type traits for the elements of the vector.
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Definition at line 72 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | ) | [inline] |
Default constructor. Do nothing.
Definition at line 79 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | value | ) | [inline, explicit] |
Initialize all the elements to the given value.
| value | the value used to set all the elements of the vector |
Definition at line 85 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > & | vector | ) | [inline, explicit] |
Initialize the elements of this vector with values from another vector. The other vector can include elements of any type, which will be converted using standard conversion to elements of this vector.
Definition at line 96 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeConstVectorRef< _elementType, _size, __stride > & | vector | ) | [inline] |
initializing a vector from a vector-ref of the same element type does not need to be declared "explicit".
Definition at line 106 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeVectorRef< _elementType, _size, __stride > & | vector | ) | [inline] |
initializing a vector from a vector-ref of the same element type does not need to be declared "explicit".
Definition at line 112 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeConstVectorBase< SIZEMINUSONE, __stride, _elementType, __dataPtrType > & | vector, | |
| value_type | lastElement | |||
| ) | [inline] |
Initialize the elements of this vector by appending one value after the elements from another vector. The other vector has to have the same element type as this one.
Definition at line 123 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const __elementType * | elements | ) | [inline, explicit] |
Initialize this vector from a conventional C array by copying the elements (assuming input stride == 1).
Definition at line 133 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctDynamicConstVectorBase< __vectorOwnerType, value_type > & | vector | ) | [inline] |
Initialize the vector from a dynamic vector with elements of the same type.
Definition at line 148 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1 | |||
| ) | [inline] |
Constructor for a vector of size 2.
Definition at line 175 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1, | |||
| const value_type & | element2 | |||
| ) | [inline] |
Constructor for a vector of size 3.
Definition at line 182 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1, | |||
| const value_type & | element2, | |||
| const value_type & | element3 | |||
| ) | [inline] |
Constructor for a vector of size 4.
Definition at line 191 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type | element0, | |
| const value_type | element1, | |||
| const value_type | element2, | |||
| const value_type | element3, | |||
| const value_type | element4, | |||
| ... | ||||
| ) | [inline] |
Constructor for any size greater than 4, using stdarg macros and variable number of arguments. This operation assumes that all the arguments are of type value_type, and that their number is equal to the size of the vector. The user may need to explicitly cast the parameters to value_type to avoid runtime bugs and errors. We have not checked if stdarg macros can use reference types (probably not), so unlike the other constructors, this constructor takes all arguments by value.
Definition at line 212 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeConstVectorRef< _elementType, _size, __stride > & | vector | ) | [inline] |
initializing a vector from a vector-ref of the same element type does not need to be declared "explicit".
Definition at line 106 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const vctFixedSizeVectorRef< _elementType, _size, __stride > & | vector | ) | [inline] |
initializing a vector from a vector-ref of the same element type does not need to be declared "explicit".
Definition at line 112 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1 | |||
| ) | [inline] |
Constructor for a vector of size 2.
Definition at line 175 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1, | |||
| const value_type & | element2 | |||
| ) | [inline] |
Constructor for a vector of size 3.
Definition at line 182 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type & | element0, | |
| const value_type & | element1, | |||
| const value_type & | element2, | |||
| const value_type & | element3 | |||
| ) | [inline] |
Constructor for a vector of size 4.
Definition at line 191 of file vctFixedSizeVector.h.
| vctFixedSizeVector< _elementType, _size >::vctFixedSizeVector | ( | const value_type | element0, | |
| const value_type | element1, | |||
| const value_type | element2, | |||
| const value_type | element3, | |||
| const value_type | element4, | |||
| ... | ||||
| ) | [inline] |
Constructor for any size greater than 4, using stdarg macros and variable number of arguments. This operation assumes that all the arguments are of type value_type, and that their number is equal to the size of the vector. The user may need to explicitly cast the parameters to value_type to avoid runtime bugs and errors. We have not checked if stdarg macros can use reference types (probably not), so unlike the other constructors, this constructor takes all arguments by value.
Definition at line 212 of file vctFixedSizeVector.h.
| ThisType& vctFixedSizeVector< _elementType, _size >::operator= | ( | const ThisType & | other | ) | [inline] |
Assignment operation between vectors of different types.
| other | The vector to be copied. |
Definition at line 238 of file vctFixedSizeVector.h.
| ThisType& vctFixedSizeVector< _elementType, _size >::operator= | ( | const vctFixedSizeConstVectorBase< _size, __stride, __elementType, __dataPtrType > & | other | ) | [inline] |
Assignment operation between vectors of different types.
| other | The vector to be copied. |
Reimplemented from vctFixedSizeVectorBase< _size, 1, _elementType, vctFixedSizeVectorTraits< _elementType, _size, 1 >::array >.
Definition at line 243 of file vctFixedSizeVector.h.
| ThisType& vctFixedSizeVector< _elementType, _size >::operator= | ( | const vctFixedSizeConstVectorRef< value_type, _size, __stride > & | other | ) | [inline] |
Assignment operation between vectors of different types.
| other | The vector to be copied. |
Definition at line 248 of file vctFixedSizeVector.h.
| ThisType& vctFixedSizeVector< _elementType, _size >::operator= | ( | const vctFixedSizeConstVectorRef< __elementType, _size, __stride > & | other | ) | [inline] |
Assignment operation between vectors of different types.
| other | The vector to be copied. |
Definition at line 253 of file vctFixedSizeVector.h.
| ThisType& vctFixedSizeVector< _elementType, _size >::operator= | ( | const value_type & | value | ) | [inline] |
Assignement of a scalar to all elements. See also SetAll.
Definition at line 260 of file vctFixedSizeVector.h.
| bool vctFixedSizeVector< _elementType, _size >::FromStreamRaw | ( | std::istream & | inputStream, | |
| const char | delimiter = ' ' | |||
| ) | [inline] |
Read from an unformatted text input (e.g., one created by ToStreamRaw). Returns true if successful.
Definition at line 267 of file vctFixedSizeVector.h.
Referenced by vctFrameBase< _rotationType >::FromStreamRaw().
| void vctFixedSizeVector< _elementType, _size >::DeSerializeRaw | ( | std::istream & | inputStream | ) | [inline] |
Binary deserialization
Definition at line 300 of file vctFixedSizeVector.h.
Referenced by vctFrameBase< _rotationType >::DeSerializeRaw(), and mtsFixedSizeVector< _elementType, _size >::DeSerializeRaw().