CAPD DynSys Library 5.2.0
capd::vectalg::Vector< Scalar, dim > Class Template Reference

#include <capd/vectalg/Vector.h>

Classes

struct  rebind
 

Public Types

typedef Scalar ScalarType
 
typedef Container< Scalar, dim > ContainerType
 
typedef ContainerType::iterator iterator
 
typedef ContainerType::const_iterator const_iterator
 
typedef Vector< Scalar, dim > VectorType
 
typedef __size_type size_type
 
typedef __difference_type difference_type
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 Vector (void)
 
 Vector (size_type a_dim)
 
 Vector (const Scalar &x, const Scalar &y, const Scalar &z)
 
 Vector (size_type, const ScalarType[])
 
 Vector (const char data[])
 
 Vector (const std::string &data)
 
 Vector (const Vector &)
 
template<typename S , typename std::enable_if< std::is_convertible< S, ScalarType >::value &&!std::is_same< S, ScalarType >::value, int >::type = 0>
 Vector (const Vector< S, dim > &)
 
 Vector (size_type, bool)
 
template<__size_type dataDim>
 Vector (const Scalar(&data)[dataDim])
 
template<typename Iterator >
 Vector (Iterator begin, Iterator end)
 
 Vector (Vector &&v)=default
 
Vectoroperator= (Vector &&v)=default
 
 Vector (std::initializer_list< ScalarType > l)
 
Vectoroperator= (const Vector &v)
 
Vectoroperator+= (const Vector &v)
 
Vectoroperator-= (const Vector &v)
 
Vectoroperator= (const Scalar &s)
 
Vectoroperator+= (const Scalar &s)
 
Vectoroperator-= (const Scalar &s)
 
Vectoroperator*= (const Scalar &s)
 
Vectoroperator/= (const Scalar &s)
 
size_type dimension () const
 
ScalarType euclNorm (void) const
 
bool normalize (void)
 
void sorting_permutation (typename rebind< int >::other &perm)
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
void resize (size_type newCapacity)
 
ScalarTypeoperator[] (size_type)
 
const ScalarTypeoperator[] (size_type) const
 
ScalarTypeoperator() (size_type)
 
const ScalarTypeoperator() (size_type) const
 
void clear ()
 

Static Public Member Functions

static size_type degree ()
 
static VectormakeArray (size_type N, size_type _dim)
 
static size_type size ()
 

Static Public Attributes

static const size_type csDim = dim
 

Protected Attributes

ScalarType data [capacity]
 

Member Typedef Documentation

◆ const_iterator

template<typename Scalar , __size_type dim>
typedef ContainerType::const_iterator capd::vectalg::Vector< Scalar, dim >::const_iterator

◆ const_reverse_iterator

typedef std::reverse_iterator<const_iterator> capd::vectalg::Container< Scalar, capacity >::const_reverse_iterator
inherited

◆ ContainerType

template<typename Scalar , __size_type dim>
typedef Container<Scalar,dim> capd::vectalg::Vector< Scalar, dim >::ContainerType

◆ difference_type

template<typename Scalar , __size_type dim>
typedef __difference_type capd::vectalg::Vector< Scalar, dim >::difference_type

◆ iterator

template<typename Scalar , __size_type dim>
typedef ContainerType::iterator capd::vectalg::Vector< Scalar, dim >::iterator

◆ reverse_iterator

typedef std::reverse_iterator<iterator> capd::vectalg::Container< Scalar, capacity >::reverse_iterator
inherited

◆ ScalarType

template<typename Scalar , __size_type dim>
typedef Scalar capd::vectalg::Vector< Scalar, dim >::ScalarType

◆ size_type

template<typename Scalar , __size_type dim>
typedef __size_type capd::vectalg::Vector< Scalar, dim >::size_type

◆ VectorType

template<typename Scalar , __size_type dim>
typedef Vector<Scalar,dim> capd::vectalg::Vector< Scalar, dim >::VectorType

Constructor & Destructor Documentation

◆ Vector() [1/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( void  )
inline

◆ Vector() [2/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( size_type  a_dim)
inlineexplicit

◆ Vector() [3/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( const Scalar &  x,
const Scalar &  y,
const Scalar &  z 
)
inline

◆ Vector() [4/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( size_type  A_dimension,
const ScalarType  data[] 
)

◆ Vector() [5/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( const char  data[])
explicit

◆ Vector() [6/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( const std::string &  data)
explicit

◆ Vector() [7/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( const Vector< Scalar, dim > &  A_vect)
inline

◆ Vector() [8/13]

template<typename Scalar , __size_type dim>
template<typename S , typename std::enable_if< std::is_convertible< S, Scalar >::value &&!std::is_same< S, Scalar >::value, int >::type >
capd::vectalg::Vector< Scalar, dim >::Vector ( const Vector< S, dim > &  v)
inlineexplicit

◆ Vector() [9/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( size_type  a_Dimension,
bool   
)
inline

◆ Vector() [10/13]

template<typename Scalar , __size_type dim>
template<__size_type dataDim>
capd::vectalg::Vector< Scalar, dim >::Vector ( const Scalar(&)  data[dataDim])

◆ Vector() [11/13]

template<typename Scalar , __size_type dim>
template<typename Iterator >
capd::vectalg::Vector< Scalar, dim >::Vector ( Iterator  begin,
Iterator  end 
)

◆ Vector() [12/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( Vector< Scalar, dim > &&  v)
default

◆ Vector() [13/13]

template<typename Scalar , __size_type dim>
capd::vectalg::Vector< Scalar, dim >::Vector ( std::initializer_list< ScalarType l)
inline

Member Function Documentation

◆ begin() [1/2]

Container< Scalar, capacity >::iterator capd::vectalg::Container< Scalar, capacity >::begin
inlineinherited

◆ begin() [2/2]

Container< Scalar, capacity >::const_iterator capd::vectalg::Container< Scalar, capacity >::begin
inlineinherited

◆ clear()

void capd::vectalg::Container< Scalar, capacity >::clear
inherited

◆ degree()

template<typename Scalar , __size_type dim>
static size_type capd::vectalg::Vector< Scalar, dim >::degree ( )
inlinestatic

◆ dimension()

template<typename Scalar , __size_type dim>
size_type capd::vectalg::Vector< Scalar, dim >::dimension ( ) const
inline

◆ end() [1/2]

Container< Scalar, capacity >::iterator capd::vectalg::Container< Scalar, capacity >::end
inlineinherited

◆ end() [2/2]

Container< Scalar, capacity >::const_iterator capd::vectalg::Container< Scalar, capacity >::end
inlineinherited

◆ euclNorm()

template<typename Scalar , __size_type dim>
Vector< Scalar, dim >::ScalarType capd::vectalg::Vector< Scalar, dim >::euclNorm ( void  ) const
inline

◆ makeArray()

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > * capd::vectalg::Vector< Scalar, dim >::makeArray ( size_type  N,
size_type  _dim 
)
static

◆ normalize()

template<typename Scalar , __size_type dim>
bool capd::vectalg::Vector< Scalar, dim >::normalize ( void  )
inline

◆ operator()() [1/2]

Scalar & capd::vectalg::Container< Scalar, capacity >::operator() ( size_type  i)
inlineinherited

◆ operator()() [2/2]

const Scalar & capd::vectalg::Container< Scalar, capacity >::operator() ( size_type  i) const
inlineinherited

◆ operator*=()

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator*= ( const Scalar &  s)
inline

◆ operator+=() [1/2]

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator+= ( const Scalar &  s)
inline

◆ operator+=() [2/2]

template<typename Scalar , __size_type dim>
Vector & capd::vectalg::Vector< Scalar, dim >::operator+= ( const Vector< Scalar, dim > &  v)

◆ operator-=() [1/2]

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator-= ( const Scalar &  s)
inline

◆ operator-=() [2/2]

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator-= ( const Vector< Scalar, dim > &  v)
inline

◆ operator/=()

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator/= ( const Scalar &  s)
inline

◆ operator=() [1/3]

template<typename Scalar , __size_type dim>
Vector< Scalar, dim > & capd::vectalg::Vector< Scalar, dim >::operator= ( const Scalar &  s)
inline

◆ operator=() [2/3]

template<typename Scalar , __size_type dim>
Vector & capd::vectalg::Vector< Scalar, dim >::operator= ( const Vector< Scalar, dim > &  v)

◆ operator=() [3/3]

template<typename Scalar , __size_type dim>
Vector & capd::vectalg::Vector< Scalar, dim >::operator= ( Vector< Scalar, dim > &&  v)
default

◆ operator[]() [1/2]

Scalar & capd::vectalg::Container< Scalar, capacity >::operator[] ( size_type  i)
inlineinherited

◆ operator[]() [2/2]

const Scalar & capd::vectalg::Container< Scalar, capacity >::operator[] ( size_type  i) const
inlineinherited

◆ rbegin() [1/2]

Container< Scalar, capacity >::reverse_iterator capd::vectalg::Container< Scalar, capacity >::rbegin
inlineinherited

◆ rbegin() [2/2]

Container< Scalar, capacity >::const_reverse_iterator capd::vectalg::Container< Scalar, capacity >::rbegin
inlineinherited

◆ rend() [1/2]

Container< Scalar, capacity >::reverse_iterator capd::vectalg::Container< Scalar, capacity >::rend
inlineinherited

◆ rend() [2/2]

Container< Scalar, capacity >::const_reverse_iterator capd::vectalg::Container< Scalar, capacity >::rend
inlineinherited

◆ resize()

void capd::vectalg::Container< Scalar, capacity >::resize ( size_type  newCapacity)
inherited

◆ size()

static size_type capd::vectalg::Container< Scalar, capacity >::size ( )
inlinestaticinherited

◆ sorting_permutation()

template<typename Scalar , __size_type dim>
void capd::vectalg::Vector< Scalar, dim >::sorting_permutation ( typename rebind< int >::other &  perm)

Member Data Documentation

◆ csDim

template<typename Scalar , __size_type dim>
const size_type capd::vectalg::Vector< Scalar, dim >::csDim = dim
static

◆ data

ScalarType capd::vectalg::Container< Scalar, capacity >::data[capacity]
protectedinherited