Chemical Data Processing Library C++ API - Version 1.2.0
Public Types | Public Member Functions | Friends | List of all members
CDPL::Math::VectorReference< V > Class Template Reference

#include <Vector.hpp>

+ Inheritance diagram for CDPL::Math::VectorReference< V >:

Public Types

typedef V VectorType
 
typedef V::ValueType ValueType
 
typedef std::conditional< std::is_const< V >::value, typename V::ConstReference, typename V::Reference >::type Reference
 
typedef V::ConstReference ConstReference
 
typedef V::SizeType SizeType
 
typedef V::DifferenceType DifferenceType
 
typedef SelfType ClosureType
 
typedef const SelfType ConstClosureType
 
- Public Types inherited from CDPL::Math::VectorExpression< VectorReference< V > >
typedef VectorReference< V > ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 VectorReference (VectorType &v)
 
Reference operator[] (SizeType i)
 
ConstReference operator[] (SizeType i) const
 
Reference operator() (SizeType i)
 
ConstReference operator() (SizeType i) const
 
SizeType getSize () const
 
SizeType getMaxSize () const
 
bool isEmpty () const
 
const VectorTypegetData () const
 
VectorTypegetData ()
 
VectorReferenceoperator= (const VectorReference &r)
 
template<typename E >
VectorReferenceoperator= (const VectorExpression< E > &e)
 
template<typename E >
VectorReferenceoperator+= (const VectorExpression< E > &e)
 
template<typename E >
VectorReferenceoperator-= (const VectorExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorReference >::type & operator*= (const T &t)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorReference >::type & operator/= (const T &t)
 
template<typename E >
VectorReferenceassign (const VectorExpression< E > &e)
 
template<typename E >
VectorReferenceplusAssign (const VectorExpression< E > &e)
 
template<typename E >
VectorReferenceminusAssign (const VectorExpression< E > &e)
 
void swap (VectorReference &r)
 
- Public Member Functions inherited from CDPL::Math::VectorExpression< VectorReference< V > >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Friends

void swap (VectorReference &r1, VectorReference &r2)
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::VectorExpression< VectorReference< V > >
 VectorExpression ()
 
 ~VectorExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Member Typedef Documentation

◆ VectorType

template<typename V >
typedef V CDPL::Math::VectorReference< V >::VectorType

◆ ValueType

template<typename V >
typedef V::ValueType CDPL::Math::VectorReference< V >::ValueType

◆ Reference

template<typename V >
typedef std::conditional<std::is_const<V>::value, typename V::ConstReference, typename V::Reference>::type CDPL::Math::VectorReference< V >::Reference

◆ ConstReference

template<typename V >
typedef V::ConstReference CDPL::Math::VectorReference< V >::ConstReference

◆ SizeType

template<typename V >
typedef V::SizeType CDPL::Math::VectorReference< V >::SizeType

◆ DifferenceType

template<typename V >
typedef V::DifferenceType CDPL::Math::VectorReference< V >::DifferenceType

◆ ClosureType

template<typename V >
typedef SelfType CDPL::Math::VectorReference< V >::ClosureType

◆ ConstClosureType

template<typename V >
typedef const SelfType CDPL::Math::VectorReference< V >::ConstClosureType

Constructor & Destructor Documentation

◆ VectorReference()

template<typename V >
CDPL::Math::VectorReference< V >::VectorReference ( VectorType v)
inlineexplicit

Member Function Documentation

◆ operator[]() [1/2]

template<typename V >
Reference CDPL::Math::VectorReference< V >::operator[] ( SizeType  i)
inline

◆ operator[]() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorReference< V >::operator[] ( SizeType  i) const
inline

◆ operator()() [1/2]

template<typename V >
Reference CDPL::Math::VectorReference< V >::operator() ( SizeType  i)
inline

◆ operator()() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorReference< V >::operator() ( SizeType  i) const
inline

◆ getSize()

template<typename V >
SizeType CDPL::Math::VectorReference< V >::getSize ( ) const
inline

◆ getMaxSize()

template<typename V >
SizeType CDPL::Math::VectorReference< V >::getMaxSize ( ) const
inline

◆ isEmpty()

template<typename V >
bool CDPL::Math::VectorReference< V >::isEmpty ( ) const
inline

◆ getData() [1/2]

template<typename V >
const VectorType& CDPL::Math::VectorReference< V >::getData ( ) const
inline

◆ getData() [2/2]

template<typename V >
VectorType& CDPL::Math::VectorReference< V >::getData ( )
inline

◆ operator=() [1/2]

template<typename V >
VectorReference& CDPL::Math::VectorReference< V >::operator= ( const VectorReference< V > &  r)
inline

◆ operator=() [2/2]

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::operator= ( const VectorExpression< E > &  e)
inline

◆ operator+=()

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::operator+= ( const VectorExpression< E > &  e)
inline

◆ operator-=()

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::operator-= ( const VectorExpression< E > &  e)
inline

◆ operator*=()

template<typename V >
template<typename T >
std::enable_if<IsScalar<T>::value, VectorReference>::type& CDPL::Math::VectorReference< V >::operator*= ( const T &  t)
inline

◆ operator/=()

template<typename V >
template<typename T >
std::enable_if<IsScalar<T>::value, VectorReference>::type& CDPL::Math::VectorReference< V >::operator/= ( const T &  t)
inline

◆ assign()

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::assign ( const VectorExpression< E > &  e)
inline

◆ plusAssign()

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::plusAssign ( const VectorExpression< E > &  e)
inline

◆ minusAssign()

template<typename V >
template<typename E >
VectorReference& CDPL::Math::VectorReference< V >::minusAssign ( const VectorExpression< E > &  e)
inline

◆ swap()

template<typename V >
void CDPL::Math::VectorReference< V >::swap ( VectorReference< V > &  r)
inline

Friends And Related Function Documentation

◆ swap

template<typename V >
void swap ( VectorReference< V > &  r1,
VectorReference< V > &  r2 
)
friend

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