| 
| constexpr  | Vector ()=default | 
|   | Construct a new Vector object.  More...
  | 
|   | 
| template<typename... TArgs>  | 
|   | Vector (TArgs &&... args) | 
|   | Construct a new Vector object from a number of N values.  More...
  | 
|   | 
| template<std::size_t Nn, class U >  | 
|   | Vector (const Vector< Nn, U > &v) | 
|   | Construct a new Vector from an existing Vector of a different type.  More...
  | 
|   | 
|   | Vector (const std::array< T, N > &a) | 
|   | Construct a new Vector object from an std::array.  More...
  | 
|   | 
| template<typename U  = T, std::enable_if_t< std::is_arithmetic< U >::value, int >  = 0>  | 
|   | Vector (const std::array< U, N > &a) | 
|   | Construct a new Vector object from an std::array of a different type.  More...
  | 
|   | 
| template<typename U  = T, std::enable_if_t< std::is_arithmetic< U >::value, int >  = 0>  | 
|   | Vector (const U &value) | 
|   | Construct a new Vector object from a single value.  More...
  | 
|   | 
| 
  | ~Vector ()=default | 
|   | Destroy the Vector object. 
  | 
|   | 
|   | Vector (const Vector &other)=default | 
|   | Copy construct a new Vector object.  More...
  | 
|   | 
|   | Vector (Vector &&other) noexcept=default | 
|   | Move construct a new Vector object.  More...
  | 
|   | 
| Vector &  | operator= (const Vector &other)=default | 
|   | Copy assignment operator.  More...
  | 
|   | 
| Vector &  | operator= (Vector &&other) noexcept=default | 
|   | Move assignment operator.  More...
  | 
|   | 
| T &  | operator[] (size_type idx) noexcept | 
|   | access an element within the vector  More...
  | 
|   | 
| const T &  | operator[] (size_type idx) const noexcept | 
|   | const access an element within the vector  More...
  | 
|   | 
| T &  | at (size_type idx) | 
|   | access an element within the vector  More...
  | 
|   | 
| const T &  | at (size_type idx) const | 
|   | const access an element within the vector  More...
  | 
|   | 
| constexpr size_type  | size () const noexcept | 
|   | returns the size of the vector  More...
  | 
|   | 
| iterator  | begin () noexcept | 
|   | returns an iterator pointing to the first element  More...
  | 
|   | 
| const_iterator  | begin () const noexcept | 
|   | returns a const iterator pointing to the first element  More...
  | 
|   | 
| iterator  | end () noexcept | 
|   | returns an iterator pointing to the element following the last element  More...
  | 
|   | 
| const_iterator  | end () const noexcept | 
|   | returns a const iterator pointing to the element following the last element  More...
  | 
|   | 
| T  | min () const | 
|   | get the min value of the vector  More...
  | 
|   | 
| T  | max () const | 
|   | get the max value of the vector  More...
  | 
|   | 
| T  | sum () const | 
|   | sum up all the elements of the vector  More...
  | 
|   | 
| template<typename U  = T>  | 
| U  | mean () const | 
|   | mean of all the elements of the vector  More...
  | 
|   | 
| template<typename U  = void, std::size_t N2, typename T2 >  | 
| std::conditional_t< std::is_same< U, void >::value, T, U >  | dot (const Vector< N2, T2 > &rhs) const | 
|   | dot product of two vectors  More...
  | 
|   | 
| template<typename U  = void, std::size_t N2, std::size_t M2, typename T2 >  | 
| std::conditional_t< std::is_same< U, void >::value, Vector< M2, T >, Vector< M2, U > >  | dot (const Matrix< N2, M2, T2 > &rhs) const | 
|   | dot product of a vector and a matrix  More...
  | 
|   | 
| template<class U  = T>  | 
| U  | std () const | 
|   | calculates the standard deviation  More...
  | 
|   | 
| template<class U  = T>  | 
| U  | length () const | 
|   | euclidean vector length  More...
  | 
|   | 
| void  | normalize () | 
|   | normalizes this vector  More...
  | 
|   | 
| Vector< N, T >  | normalized () | 
|   | returns a normalized vector  More...
  | 
|   | 
| void  | flip () | 
|   | flips this vector, i.e. reverses its elements  More...
  | 
|   | 
| Vector< N, T >  | flipped () const | 
|   | returns a flipped vector  More...
  | 
|   | 
| void  | sort () | 
|   | sort vector elements in ascending order  More...
  | 
|   | 
| template<typename Compare >  | 
| void  | sort (const Compare &comp) | 
|   | sort vector elements by providing a condition  More...
  | 
|   | 
| Vector< N, T >  | sorted () const | 
|   | returns a sorted vector  More...
  | 
|   | 
| template<typename Compare >  | 
| Vector< N, T >  | sorted (const Compare &comp) const | 
|   | 
| template<typename U  = T>  | 
| bool  | operator== (const Vector< N, U > &rhs) const | 
|   | equality operator  More...
  | 
|   | 
| template<typename U  = T>  | 
| bool  | operator!= (const Vector< N, U > &rhs) const | 
|   | unequality operator  More...
  | 
|   | 
| template<typename U  = T>  | 
| Vector< N, T > &  | operator+= (const Vector< N, U > &rhs) | 
|   | plus equal operator  More...
  | 
|   | 
| template<typename U  = T>  | 
| Vector< N, T > &  | operator-= (const Vector< N, U > &rhs) | 
|   | minus equal operator  More...
  | 
|   | 
| template<typename U  = T>  | 
| Vector< N, T > &  | operator*= (const Vector< N, U > &rhs) | 
|   | multiplication equal operator  More...
  | 
|   | 
| template<typename U  = T>  | 
| Vector< N, T > &  | operator/= (const Vector< N, U > &rhs) | 
|   | divison equal operator  More...
  | 
|   | 
| template<class TScalar >  | 
| std::enable_if_t< std::is_arithmetic< TScalar >::value, Vector< N, T > & >  | operator+= (const TScalar &scalar) | 
|   | add a scalar to this vector  More...
  | 
|   | 
| template<class TScalar >  | 
| std::enable_if_t< std::is_arithmetic< TScalar >::value, Vector< N, T > & >  | operator-= (const TScalar &scalar) | 
|   | subtract a scalar from every element of this vector  More...
  | 
|   | 
| template<class TScalar >  | 
| std::enable_if_t< std::is_arithmetic< TScalar >::value, Vector< N, T > & >  | operator*= (const TScalar &scalar) | 
|   | multiply a scalar with this vector  More...
  | 
|   | 
| template<class TScalar >  | 
| std::enable_if_t< std::is_arithmetic< TScalar >::value, Vector< N, T > & >  | operator/= (const TScalar &scalar) | 
|   | divide every element of this vector by a scalar  More...
  | 
|   | 
template<std::size_t N, typename T>
class mu::Vector< N, T >
A generic vector. 
Can be instantiated with an arithmetic type as defined by the standard library.
- implementation-defined extended integer types, including any signed, unsigned, and cv-qualified variants. (bool, char, int, long ...)
 
- implementation-defined extended floating-point types including any cv-qualified variants. (float, double, long double)
 
- Template Parameters
 - 
  
    | N | size  | 
    | T | the type of the values inside the vector  |