Chemical Data Processing Library C++ API - Version 1.2.0
Public Types | Public Member Functions | Static Public Attributes | Friends | List of all members
CDPL::Math::BoundedVector< T, N > Class Template Reference

#include <Vector.hpp>

+ Inheritance diagram for CDPL::Math::BoundedVector< T, N >:

Public Types

typedef T ValueType
 
typedef T & Reference
 
typedef const T & ConstReference
 
typedef std::size_t SizeType
 
typedef std::ptrdiff_t DifferenceType
 
typedef ValueType ArrayType[N]
 
typedef T * Pointer
 
typedef const T * ConstPointer
 
typedef VectorReference< SelfTypeClosureType
 
typedef const VectorReference< const SelfTypeConstClosureType
 
typedef BoundedVector< T, N+1 > VectorTemporaryType
 
typedef std::shared_ptr< SelfTypeSharedPointer
 
typedef std::initializer_list< T > InitializerListType
 
- Public Types inherited from CDPL::Math::VectorContainer< BoundedVector< T, N > >
typedef BoundedVector< T, N > ContainerType
 
- Public Types inherited from CDPL::Math::VectorExpression< E >
typedef E ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 BoundedVector ()
 
 BoundedVector (SizeType n)
 
 BoundedVector (SizeType n, const ValueType &v)
 
 BoundedVector (const BoundedVector &v)
 
 BoundedVector (InitializerListType l)
 
template<typename E >
 BoundedVector (const VectorExpression< E > &e)
 
Reference operator[] (SizeType i)
 
ConstReference operator[] (SizeType i) const
 
Reference operator() (SizeType i)
 
ConstReference operator() (SizeType i) const
 
bool isEmpty () const
 
SizeType getSize () const
 
SizeType getMaxSize () const
 
Pointer getData ()
 
ConstPointer getData () const
 
BoundedVectoroperator= (const BoundedVector &v)
 
BoundedVectoroperator= (InitializerListType l)
 
template<typename C >
BoundedVectoroperator= (const VectorContainer< C > &c)
 
template<typename E >
BoundedVectoroperator= (const VectorExpression< E > &e)
 
template<typename C >
BoundedVectoroperator+= (const VectorContainer< C > &c)
 
BoundedVectoroperator+= (InitializerListType l)
 
template<typename E >
BoundedVectoroperator+= (const VectorExpression< E > &e)
 
template<typename C >
BoundedVectoroperator-= (const VectorContainer< C > &c)
 
BoundedVectoroperator-= (InitializerListType l)
 
template<typename E >
BoundedVectoroperator-= (const VectorExpression< E > &e)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, BoundedVector >::type & operator*= (const T1 &t)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, BoundedVector >::type & operator/= (const T1 &t)
 
template<typename E >
BoundedVectorassign (const VectorExpression< E > &e)
 
BoundedVectorassign (InitializerListType l)
 
template<typename E >
BoundedVectorplusAssign (const VectorExpression< E > &e)
 
BoundedVectorplusAssign (InitializerListType l)
 
template<typename E >
BoundedVectorminusAssign (const VectorExpression< E > &e)
 
BoundedVectorminusAssign (InitializerListType l)
 
void swap (BoundedVector &v)
 
void clear (const ValueType &v=ValueType())
 
void resize (SizeType n)
 
void resize (SizeType n, const ValueType &v)
 
- Public Member Functions inherited from CDPL::Math::VectorContainer< BoundedVector< T, N > >
const ContainerTypeoperator() () const
 
ContainerTypeoperator() ()
 
- Public Member Functions inherited from CDPL::Math::VectorExpression< E >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Static Public Attributes

static const SizeType MaxSize = N
 

Friends

void swap (BoundedVector &v1, BoundedVector &v2)
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::VectorContainer< BoundedVector< T, N > >
 VectorContainer ()
 
 ~VectorContainer ()
 
- Protected Member Functions inherited from CDPL::Math::VectorExpression< E >
 VectorExpression ()
 
 ~VectorExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Member Typedef Documentation

◆ ValueType

template<typename T , std::size_t N>
typedef T CDPL::Math::BoundedVector< T, N >::ValueType

◆ Reference

template<typename T , std::size_t N>
typedef T& CDPL::Math::BoundedVector< T, N >::Reference

◆ ConstReference

template<typename T , std::size_t N>
typedef const T& CDPL::Math::BoundedVector< T, N >::ConstReference

◆ SizeType

template<typename T , std::size_t N>
typedef std::size_t CDPL::Math::BoundedVector< T, N >::SizeType

◆ DifferenceType

template<typename T , std::size_t N>
typedef std::ptrdiff_t CDPL::Math::BoundedVector< T, N >::DifferenceType

◆ ArrayType

template<typename T , std::size_t N>
typedef ValueType CDPL::Math::BoundedVector< T, N >::ArrayType[N]

◆ Pointer

template<typename T , std::size_t N>
typedef T* CDPL::Math::BoundedVector< T, N >::Pointer

◆ ConstPointer

template<typename T , std::size_t N>
typedef const T* CDPL::Math::BoundedVector< T, N >::ConstPointer

◆ ClosureType

template<typename T , std::size_t N>
typedef VectorReference<SelfType> CDPL::Math::BoundedVector< T, N >::ClosureType

◆ ConstClosureType

template<typename T , std::size_t N>
typedef const VectorReference<const SelfType> CDPL::Math::BoundedVector< T, N >::ConstClosureType

◆ VectorTemporaryType

template<typename T , std::size_t N>
typedef BoundedVector<T, N + 1> CDPL::Math::BoundedVector< T, N >::VectorTemporaryType

◆ SharedPointer

template<typename T , std::size_t N>
typedef std::shared_ptr<SelfType> CDPL::Math::BoundedVector< T, N >::SharedPointer

◆ InitializerListType

template<typename T , std::size_t N>
typedef std::initializer_list<T> CDPL::Math::BoundedVector< T, N >::InitializerListType

Constructor & Destructor Documentation

◆ BoundedVector() [1/6]

template<typename T , std::size_t N>
CDPL::Math::BoundedVector< T, N >::BoundedVector ( )
inline

◆ BoundedVector() [2/6]

template<typename T , std::size_t N>
CDPL::Math::BoundedVector< T, N >::BoundedVector ( SizeType  n)
inlineexplicit

◆ BoundedVector() [3/6]

template<typename T , std::size_t N>
CDPL::Math::BoundedVector< T, N >::BoundedVector ( SizeType  n,
const ValueType v 
)
inline

◆ BoundedVector() [4/6]

template<typename T , std::size_t N>
CDPL::Math::BoundedVector< T, N >::BoundedVector ( const BoundedVector< T, N > &  v)
inline

◆ BoundedVector() [5/6]

template<typename T , std::size_t N>
CDPL::Math::BoundedVector< T, N >::BoundedVector ( InitializerListType  l)
inline

◆ BoundedVector() [6/6]

template<typename T , std::size_t N>
template<typename E >
CDPL::Math::BoundedVector< T, N >::BoundedVector ( const VectorExpression< E > &  e)
inline

Member Function Documentation

◆ operator[]() [1/2]

template<typename T , std::size_t N>
Reference CDPL::Math::BoundedVector< T, N >::operator[] ( SizeType  i)
inline

◆ operator[]() [2/2]

template<typename T , std::size_t N>
ConstReference CDPL::Math::BoundedVector< T, N >::operator[] ( SizeType  i) const
inline

◆ operator()() [1/2]

template<typename T , std::size_t N>
Reference CDPL::Math::BoundedVector< T, N >::operator() ( SizeType  i)
inline

◆ operator()() [2/2]

template<typename T , std::size_t N>
ConstReference CDPL::Math::BoundedVector< T, N >::operator() ( SizeType  i) const
inline

◆ isEmpty()

template<typename T , std::size_t N>
bool CDPL::Math::BoundedVector< T, N >::isEmpty ( ) const
inline

◆ getSize()

template<typename T , std::size_t N>
SizeType CDPL::Math::BoundedVector< T, N >::getSize ( ) const
inline

◆ getMaxSize()

template<typename T , std::size_t N>
SizeType CDPL::Math::BoundedVector< T, N >::getMaxSize ( ) const
inline

◆ getData() [1/2]

template<typename T , std::size_t N>
Pointer CDPL::Math::BoundedVector< T, N >::getData ( )
inline

◆ getData() [2/2]

template<typename T , std::size_t N>
ConstPointer CDPL::Math::BoundedVector< T, N >::getData ( ) const
inline

◆ operator=() [1/4]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator= ( const BoundedVector< T, N > &  v)
inline

◆ operator=() [2/4]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator= ( InitializerListType  l)
inline

◆ operator=() [3/4]

template<typename T , std::size_t N>
template<typename C >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator= ( const VectorContainer< C > &  c)
inline

◆ operator=() [4/4]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator= ( const VectorExpression< E > &  e)
inline

◆ operator+=() [1/3]

template<typename T , std::size_t N>
template<typename C >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator+= ( const VectorContainer< C > &  c)
inline

◆ operator+=() [2/3]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator+= ( InitializerListType  l)
inline

◆ operator+=() [3/3]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator+= ( const VectorExpression< E > &  e)
inline

◆ operator-=() [1/3]

template<typename T , std::size_t N>
template<typename C >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator-= ( const VectorContainer< C > &  c)
inline

◆ operator-=() [2/3]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator-= ( InitializerListType  l)
inline

◆ operator-=() [3/3]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::operator-= ( const VectorExpression< E > &  e)
inline

◆ operator*=()

template<typename T , std::size_t N>
template<typename T1 >
std::enable_if<IsScalar<T1>::value, BoundedVector>::type& CDPL::Math::BoundedVector< T, N >::operator*= ( const T1 &  t)
inline

◆ operator/=()

template<typename T , std::size_t N>
template<typename T1 >
std::enable_if<IsScalar<T1>::value, BoundedVector>::type& CDPL::Math::BoundedVector< T, N >::operator/= ( const T1 &  t)
inline

◆ assign() [1/2]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::assign ( const VectorExpression< E > &  e)
inline

◆ assign() [2/2]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::assign ( InitializerListType  l)
inline

◆ plusAssign() [1/2]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::plusAssign ( const VectorExpression< E > &  e)
inline

◆ plusAssign() [2/2]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::plusAssign ( InitializerListType  l)
inline

◆ minusAssign() [1/2]

template<typename T , std::size_t N>
template<typename E >
BoundedVector& CDPL::Math::BoundedVector< T, N >::minusAssign ( const VectorExpression< E > &  e)
inline

◆ minusAssign() [2/2]

template<typename T , std::size_t N>
BoundedVector& CDPL::Math::BoundedVector< T, N >::minusAssign ( InitializerListType  l)
inline

◆ swap()

template<typename T , std::size_t N>
void CDPL::Math::BoundedVector< T, N >::swap ( BoundedVector< T, N > &  v)
inline

◆ clear()

template<typename T , std::size_t N>
void CDPL::Math::BoundedVector< T, N >::clear ( const ValueType v = ValueType())
inline

◆ resize() [1/2]

template<typename T , std::size_t N>
void CDPL::Math::BoundedVector< T, N >::resize ( SizeType  n)
inline

◆ resize() [2/2]

template<typename T , std::size_t N>
void CDPL::Math::BoundedVector< T, N >::resize ( SizeType  n,
const ValueType v 
)
inline

Friends And Related Function Documentation

◆ swap

template<typename T , std::size_t N>
void swap ( BoundedVector< T, N > &  v1,
BoundedVector< T, N > &  v2 
)
friend

Member Data Documentation

◆ MaxSize

template<typename T , std::size_t N>
const BoundedVector< T, N >::SizeType CDPL::Math::BoundedVector< T, N >::MaxSize = N
static

The documentation for this class was generated from the following files: