|
maliput
|
Base class for an N-dimensional vector.
This class follows the Curiosly Recurring Template Pattern design. Instantiated templates for the following kinds of N's are provided:
| N | Is the dimension of the vector. |
| Derived | Is the derived class type. |
#include <include/maliput/math/vector.h>
Public Member Functions | |
| VectorBase () | |
| Constructs a null N-dimensional vector. More... | |
| VectorBase (std::array< double, N > values) | |
| Constructs an N-dimensional vector from a std::array object;. More... | |
| VectorBase (std::initializer_list< double > values) | |
| Constructs an N-dimensional vector using initializing list;. More... | |
| VectorBase (const VectorBase< N, Derived > &other)=default | |
| Copy constructor. More... | |
| VectorBase (VectorBase< N, Derived > &&other)=default | |
| Move constructor. More... | |
| double | dot (const VectorBase< N, Derived > &vector) const |
| double | norm () const |
| void | normalize () |
Divides each vector component by norm(). More... | |
| Derived | normalized () const |
| std::size_t | size () const |
| std::array< double, N > | to_array () const |
| Derived & | operator= (const VectorBase< N, Derived > &other) |
| Assignment operator overload. More... | |
| Derived & | operator= (const VectorBase< N, Derived > &&other) |
| Move assignment operator overload. More... | |
| double | operator[] (std::size_t index) const |
| Constant subscripting array operator overload. More... | |
| double & | operator[] (std::size_t index) |
| Subscripting array operator overload. More... | |
| bool | operator== (const VectorBase< N, Derived > &vector) const |
| Equality operator overload. More... | |
| bool | operator!= (const VectorBase< N, Derived > &vector) const |
| Inequality operator overload. More... | |
| Derived | operator+ (const VectorBase< N, Derived > &vector) const |
| Add operator overload. More... | |
| Derived & | operator+= (const VectorBase< N, Derived > &vector) |
| Add and assignment operator overload. More... | |
| Derived | operator- (const VectorBase< N, Derived > &vector) const |
| Substract operator overload. More... | |
| Derived | operator/ (double scalar) const |
| Divide operator overload between a VectorBase<N, Derived> vector and a double. More... | |
| std::string | to_str () const |
Static Public Member Functions | |
| static Derived | Zero () |
| static Derived | Ones () |
| static Derived | FromStr (const std::string &vector_str) |
Parses vector_str that should come in the following format "{A, B, C, ...}" (white spaces could or could not be there). More... | |
Static Public Attributes | |
| static constexpr std::size_t | kDimension {N} |
| The dimension of the vector. More... | |
Protected Attributes | |
| std::array< double, N > | values_ {} |
Friends | |
| template<std::size_t N_, typename Derived_ > | |
| Derived_ | operator* (const VectorBase< N_, Derived_ > &vector, double scalar) |
| Product operator overload between a vector and a double. More... | |
| template<std::size_t N_, typename Derived_ > | |
| Derived_ | operator* (double scalar, const VectorBase< N_, Derived_ > &vector) |
| Product operator overload between a double and a vector. More... | |
| template<std::size_t N_, typename Derived_ > | |
| std::ostream & | operator<< (std::ostream &os, const VectorBase< N_, Derived_ > &vector) |
| Insertion operator overload. More... | |
Constructs a null N-dimensional vector.
| VectorBase | ( | std::array< double, N > | values | ) |
Constructs an N-dimensional vector from a std::array object;.
| common::assertion_error | When size of values differs with the N parameter. |
| VectorBase | ( | std::initializer_list< double > | values | ) |
Constructs an N-dimensional vector using initializing list;.
| common::assertion_error | When size of values differs with the N parameter |
|
default |
Copy constructor.
|
default |
Move constructor.
| double dot | ( | const VectorBase< N, Derived > & | vector | ) | const |
*this and vector.
|
static |
Parses vector_str that should come in the following format "{A, B, C, ...}" (white spaces could or could not be there).
| maliput::common::assertion_error | When vector_str does not follow the specified format. |
vector_str. | double norm |
| void normalize |
Divides each vector component by norm().
| Derived normalized |
|
static |
| bool operator!= | ( | const VectorBase< N, Derived > & | vector | ) | const |
Inequality operator overload.
| Derived operator+ | ( | const VectorBase< N, Derived > & | vector | ) | const |
Add operator overload.
| Derived & operator+= | ( | const VectorBase< N, Derived > & | vector | ) |
Add and assignment operator overload.
| Derived operator- | ( | const VectorBase< N, Derived > & | vector | ) | const |
Substract operator overload.
| Derived operator/ | ( | double | scalar | ) | const |
Divide operator overload between a VectorBase<N, Derived> vector and a double.
| Derived & operator= | ( | const VectorBase< N, Derived > && | other | ) |
Move assignment operator overload.
| other | Derived object. |
| Derived & operator= | ( | const VectorBase< N, Derived > & | other | ) |
Assignment operator overload.
| other | Derived object. |
| bool operator== | ( | const VectorBase< N, Derived > & | vector | ) | const |
Equality operator overload.
| double & operator[] | ( | std::size_t | index | ) |
Subscripting array operator overload.
| index | The index of the vector element. |
index.| common::assertion_error | When index is out of range. |
| double operator[] | ( | std::size_t | index | ) | const |
Constant subscripting array operator overload.
| index | The index of the vector element. |
index.| common::assertion_error | When index is out of range. |
| std::size_t size | ( | ) | const |
*this. | std::array<double, N> to_array | ( | ) | const |
| std::string to_str |
|
static |
|
friend |
Product operator overload between a vector and a double.
|
friend |
Product operator overload between a double and a vector.
|
friend |
Insertion operator overload.
|
staticconstexpr |
The dimension of the vector.
|
protected |