A static allocated Vector. More...
#include <rtt/MultiVector.hpp>
Public Types | |
enum | Size { size = S } |
The size of this MultiVector is stored in this enum. | |
typedef T | DataType [S] |
You can use DataType if you want to refer to a pointer holding S elements. | |
Public Member Functions | |
operator const T * () const | |
Returns a pointer to the data. | |
operator T & () | |
Returns a reference to the data. | |
MultiVector (const T d) | |
Creates a vector with all elements initialized to d. | |
MultiVector () | |
Creates a vector with all elements initialized to zero. | |
template<class Alloc > | |
MultiVector (const std::vector< T, Alloc > &vect) | |
Creates a vector from a std::vector. | |
MultiVector & | operator+= (const MultiVector &d) |
Adds another MultiVector to this MultiVector. | |
MultiVector & | operator*= (const MultiVector &d) |
Vector product of another MultiVector with this MultiVector. | |
MultiVector & | operator*= (const T d) |
Scalar product of a scalar with this MultiVector. | |
MultiVector | operator- (const MultiVector &d) const |
Returns the difference between this and another MultiVector. | |
MultiVector | operator- () const |
MultiVector | operator+ (const MultiVector &d) const |
Returns the addition of this and another MultiVector. | |
MultiVector | operator* (const MultiVector &d) const |
Returns the vector product of this and another MultiVector. | |
MultiVector | operator/ (const T d) const |
MultiVector | operator* (const T d) const |
Returns the scalar product of this and a scalar value. | |
MultiVector & | operator= (const MultiVector &d) |
Assigns all elements of this MultiVector to all elements of another MultiVector. | |
bool | operator== (const MultiVector &d) |
Compares all elements of this MultiVector to all elements of another MultiVector. | |
bool | operator!= (const MultiVector &d) |
Compares elements of this MultiVector are different from elements of another MultiVector. | |
template<class Alloc > | |
void | getVector (std::vector< T, Alloc > &vect) const |
Return the contents of this MultiVector as an std::vector Resizes vect to the size of this MultiVector. | |
template<class Alloc > | |
bool | setVector (const std::vector< T, Alloc > &vect) |
Set the contents of this MultiVector from an std::vector. | |
MultiVector & | operator= (const T d) |
Assigns a scalar value to all elements of this Multivector and returns a reference of the result. | |
T & | operator[] (unsigned int i) |
Not checked index operator to the internal data. | |
Public Attributes | |
DataType | data |
The data contained in the MultiVector. |
A static allocated Vector.
The MultiVector is an n (defaults to 6) dimensional vector of any type T, mostly used for holding primitive types. Most common casting and operators are defined on this class.
S | The number of elements in the vector | |
T | The type of all elements in the vector |
Definition at line 71 of file MultiVector.hpp.
RTT::MultiVector< S, T >::MultiVector | ( | const T | d | ) | [inline] |
Creates a vector with all elements initialized to d.
d | The value to be used for initialisation of all elements |
Definition at line 112 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
RTT::MultiVector< S, T >::MultiVector | ( | const std::vector< T, Alloc > & | vect | ) | [inline] |
Creates a vector from a std::vector.
If there are more items in vect than the size of this Multivector, they are ignored, if there are less items in vect, the remainder is filled with zeros.
Definition at line 134 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
bool RTT::MultiVector< S, T >::operator!= | ( | const MultiVector< S, T > & | d | ) | [inline] |
Compares elements of this MultiVector are different from elements of another MultiVector.
d | The other MultiVector to be used. |
Definition at line 306 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector RTT::MultiVector< S, T >::operator* | ( | const T | d | ) | const [inline] |
Returns the scalar product of this and a scalar value.
d | The scalar |
Definition at line 259 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector RTT::MultiVector< S, T >::operator* | ( | const MultiVector< S, T > & | d | ) | const [inline] |
Returns the vector product of this and another MultiVector.
d | The other MultiVector to be used. |
Definition at line 233 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector& RTT::MultiVector< S, T >::operator*= | ( | const T | d | ) | [inline] |
Scalar product of a scalar with this MultiVector.
d | The scalar |
Definition at line 177 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector& RTT::MultiVector< S, T >::operator*= | ( | const MultiVector< S, T > & | d | ) | [inline] |
Vector product of another MultiVector with this MultiVector.
d | The other MultiVector to be used. |
Definition at line 163 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector RTT::MultiVector< S, T >::operator+ | ( | const MultiVector< S, T > & | d | ) | const [inline] |
Returns the addition of this and another MultiVector.
d | The other MultiVector to be used. |
Definition at line 217 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector& RTT::MultiVector< S, T >::operator+= | ( | const MultiVector< S, T > & | d | ) | [inline] |
Adds another MultiVector to this MultiVector.
d | The other MultiVector to be used. |
Definition at line 149 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector RTT::MultiVector< S, T >::operator- | ( | const MultiVector< S, T > & | d | ) | const [inline] |
Returns the difference between this and another MultiVector.
d | The other MultiVector to be used. |
Definition at line 191 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector& RTT::MultiVector< S, T >::operator= | ( | const T | d | ) | [inline] |
Assigns a scalar value to all elements of this Multivector and returns a reference of the result.
d | The scalar |
Definition at line 363 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
MultiVector& RTT::MultiVector< S, T >::operator= | ( | const MultiVector< S, T > & | d | ) | [inline] |
Assigns all elements of this MultiVector to all elements of another MultiVector.
d | The other MultiVector to be used. |
Definition at line 276 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
bool RTT::MultiVector< S, T >::operator== | ( | const MultiVector< S, T > & | d | ) | [inline] |
Compares all elements of this MultiVector to all elements of another MultiVector.
d | The other MultiVector to be used. |
Definition at line 291 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
T& RTT::MultiVector< S, T >::operator[] | ( | unsigned int | i | ) | [inline] |
Not checked index operator to the internal data.
i | The element to be accessed starting from zero. |
Definition at line 378 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
bool RTT::MultiVector< S, T >::setVector | ( | const std::vector< T, Alloc > & | vect | ) | [inline] |
Set the contents of this MultiVector from an std::vector.
Definition at line 331 of file MultiVector.hpp.
References RTT::MultiVector< S, T >::data.
DataType RTT::MultiVector< S, T >::data |
The data contained in the MultiVector.
You can access it freely.
Definition at line 88 of file MultiVector.hpp.
Referenced by RTT::MultiVector< S, T >::getVector(), RTT::MultiVector< S, T >::MultiVector(), RTT::MultiVector< S, T >::operator const T *(), RTT::MultiVector< S, T >::operator T &(), RTT::MultiVector< S, T >::operator!=(), RTT::MultiVector< S, T >::operator*(), RTT::MultiVector< S, T >::operator*=(), RTT::MultiVector< S, T >::operator+(), RTT::MultiVector< S, T >::operator+=(), RTT::MultiVector< S, T >::operator-(), RTT::MultiVector< S, T >::operator=(), RTT::MultiVector< S, T >::operator==(), RTT::MultiVector< S, T >::operator[](), and RTT::MultiVector< S, T >::setVector().