CAPD DynSys Library  5.2.0
capd::vectalg::ColumnVector< Scalar, rows > Class Template Reference

This class realizes a vector without its own container, which is a reference to a subset of other object with his own container. A typical situation is a column of matrix which can be considered as a vector. More...

#include <capd/vectalg/ColumnVector.h>

Public Types

typedef Scalar ScalarType
 
typedef capd::vectalg::ColumnIterator< Scalariterator
 
typedef capd::vectalg::const_ColumnIterator< Scalarconst_iterator
 
typedef ColumnVector VectorType
 
typedef ColumnVector ContainerType
 
typedef __size_type size_type
 
typedef __difference_type difference_type
 

Public Member Functions

 ColumnVector (const Scalar *pointer, difference_type stride, size_type dim)
 
ColumnVectoroperator= (const ColumnVector &)
 
ColumnVectoroperator= (const Vector< Scalar, rows > &)
 
ColumnVectoroperator+= (const ColumnVector &)
 
ColumnVectoroperator+= (const Vector< Scalar, rows > &)
 
ColumnVectoroperator-= (const ColumnVector &)
 
ColumnVectoroperator-= (const Vector< Scalar, rows > &)
 
ColumnVectoroperator*= (const Scalar &)
 
ColumnVectoroperator/= (const Scalar &)
 
 operator Vector< Scalar, rows > () const
 
Scalaroperator[] (size_type row)
 
const Scalaroperator[] (size_type row) const
 
Scalar euclNorm () const
 
bool normalize ()
 
void clear ()
 
size_type dimension () const
 
void next ()
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
void assertEqualSize (const ColumnVector &c) const
 

Protected Attributes

Scalarm_pointer
 
difference_type m_stride
 
size_type m_dim
 

Detailed Description

template<typename Scalar, __size_type rows>
class capd::vectalg::ColumnVector< Scalar, rows >

This class realizes a vector without its own container, which is a reference to a subset of other object with his own container. A typical situation is a column of matrix which can be considered as a vector.

Member Typedef Documentation

◆ const_iterator

template<typename Scalar , __size_type rows>
typedef capd::vectalg::const_ColumnIterator<Scalar> capd::vectalg::ColumnVector< Scalar, rows >::const_iterator

◆ ContainerType

template<typename Scalar , __size_type rows>
typedef ColumnVector capd::vectalg::ColumnVector< Scalar, rows >::ContainerType

◆ difference_type

template<typename Scalar , __size_type rows>
typedef __difference_type capd::vectalg::ColumnVector< Scalar, rows >::difference_type

◆ iterator

template<typename Scalar , __size_type rows>
typedef capd::vectalg::ColumnIterator<Scalar> capd::vectalg::ColumnVector< Scalar, rows >::iterator

◆ ScalarType

template<typename Scalar , __size_type rows>
typedef Scalar capd::vectalg::ColumnVector< Scalar, rows >::ScalarType

◆ size_type

template<typename Scalar , __size_type rows>
typedef __size_type capd::vectalg::ColumnVector< Scalar, rows >::size_type

◆ VectorType

template<typename Scalar , __size_type rows>
typedef ColumnVector capd::vectalg::ColumnVector< Scalar, rows >::VectorType

Constructor & Destructor Documentation

◆ ColumnVector()

template<typename Scalar , __size_type rows>
capd::vectalg::ColumnVector< Scalar, rows >::ColumnVector ( const Scalar pointer,
difference_type  stride,
size_type  dim 
)
inline

Member Function Documentation

◆ assertEqualSize()

template<typename Scalar , __size_type rows>
void capd::vectalg::ColumnVector< Scalar, rows >::assertEqualSize ( const ColumnVector< Scalar, rows > &  c) const
inline

◆ begin() [1/2]

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows >::const_iterator capd::vectalg::ColumnVector< Scalar, rows >::begin
inline

◆ begin() [2/2]

template<typename Scalar , __size_type rows>
const_iterator capd::vectalg::ColumnVector< Scalar, rows >::begin ( ) const

◆ clear()

template<typename Scalar , __size_type rows>
void capd::vectalg::ColumnVector< Scalar, rows >::clear

◆ dimension()

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows >::size_type capd::vectalg::ColumnVector< Scalar, rows >::dimension
inline

◆ end() [1/2]

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows >::const_iterator capd::vectalg::ColumnVector< Scalar, rows >::end
inline

◆ end() [2/2]

template<typename Scalar , __size_type rows>
const_iterator capd::vectalg::ColumnVector< Scalar, rows >::end ( ) const

◆ euclNorm()

template<typename Scalar , __size_type rows>
Scalar capd::vectalg::ColumnVector< Scalar, rows >::euclNorm
inline

◆ next()

template<typename Scalar , __size_type rows>
void capd::vectalg::ColumnVector< Scalar, rows >::next

◆ normalize()

template<typename Scalar , __size_type rows>
bool capd::vectalg::ColumnVector< Scalar, rows >::normalize
inline

◆ operator Vector< Scalar, rows >()

template<typename Scalar , __size_type rows>
capd::vectalg::ColumnVector< Scalar, rows >::operator Vector< Scalar, rows >

◆ operator*=()

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

◆ operator+=() [1/2]

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows > & capd::vectalg::ColumnVector< Scalar, rows >::operator+= ( const ColumnVector< Scalar, rows > &  v)
inline

◆ operator+=() [2/2]

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

◆ operator-=() [1/2]

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

◆ operator-=() [2/2]

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

◆ operator/=()

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows > & capd::vectalg::ColumnVector< Scalar, rows >::operator/= ( const Scalar s)

◆ operator=() [1/2]

template<typename Scalar , __size_type rows>
ColumnVector< Scalar, rows > & capd::vectalg::ColumnVector< Scalar, rows >::operator= ( const ColumnVector< Scalar, rows > &  v)
inline

◆ operator=() [2/2]

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

◆ operator[]() [1/2]

template<typename Scalar , __size_type rows>
Scalar & capd::vectalg::ColumnVector< Scalar, rows >::operator[] ( size_type  row)
inline

◆ operator[]() [2/2]

template<typename Scalar , __size_type rows>
const Scalar & capd::vectalg::ColumnVector< Scalar, rows >::operator[] ( size_type  row) const
inline

Member Data Documentation

◆ m_dim

template<typename Scalar , __size_type rows>
size_type capd::vectalg::ColumnVector< Scalar, rows >::m_dim
protected

◆ m_pointer

template<typename Scalar , __size_type rows>
Scalar* capd::vectalg::ColumnVector< Scalar, rows >::m_pointer
protected

◆ m_stride

template<typename Scalar , __size_type rows>
difference_type capd::vectalg::ColumnVector< Scalar, rows >::m_stride
protected