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

#include <VectorProxy.hpp>

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

Public Types

typedef V VectorType
 
typedef V::SizeType SizeType
 
typedef V::DifferenceType DifferenceType
 
typedef V::ValueType ValueType
 
typedef V::ConstReference ConstReference
 
typedef std::conditional< std::is_const< V >::value, typename V::ConstReference, typename V::Reference >::type Reference
 
typedef std::conditional< std::is_const< V >::value, typename V::ConstClosureType, typename V::ClosureType >::type VectorClosureType
 
typedef const SelfType ConstClosureType
 
typedef SelfType ClosureType
 
typedef Range< SizeTypeRangeType
 
- Public Types inherited from CDPL::Math::VectorExpression< VectorRange< V > >
typedef VectorRange< VExpressionType
 
- Public Types inherited from CDPL::Math::Expression< VectorRange< V > >
typedef VectorRange< VExpressionType
 

Public Member Functions

 VectorRange (VectorType &v, const RangeType &r)
 
Reference operator() (SizeType i)
 
ConstReference operator() (SizeType i) const
 
Reference operator[] (SizeType i)
 
ConstReference operator[] (SizeType i) const
 
SizeType getStart () const
 
SizeType getSize () const
 
bool isEmpty () const
 
VectorClosureTypegetData ()
 
const VectorClosureTypegetData () const
 
VectorRangeoperator= (const VectorRange &r)
 
template<typename E >
VectorRangeoperator= (const VectorExpression< E > &e)
 
template<typename E >
VectorRangeoperator+= (const VectorExpression< E > &e)
 
template<typename E >
VectorRangeoperator-= (const VectorExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorRange >::type & operator*= (const T &t)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorRange >::type & operator/= (const T &t)
 
template<typename E >
VectorRangeassign (const VectorExpression< E > &e)
 
template<typename E >
VectorRangeplusAssign (const VectorExpression< E > &e)
 
template<typename E >
VectorRangeminusAssign (const VectorExpression< E > &e)
 
void swap (VectorRange &r)
 
- Public Member Functions inherited from CDPL::Math::VectorExpression< VectorRange< V > >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Friends

void swap (VectorRange &r1, VectorRange &r2)
 

Additional Inherited Members

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

Member Typedef Documentation

◆ VectorType

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

◆ SizeType

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

◆ DifferenceType

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

◆ ValueType

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

◆ ConstReference

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

◆ Reference

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

◆ VectorClosureType

template<typename V >
typedef std::conditional<std::is_const<V>::value, typename V::ConstClosureType, typename V::ClosureType>::type CDPL::Math::VectorRange< V >::VectorClosureType

◆ ConstClosureType

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

◆ ClosureType

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

◆ RangeType

template<typename V >
typedef Range<SizeType> CDPL::Math::VectorRange< V >::RangeType

Constructor & Destructor Documentation

◆ VectorRange()

template<typename V >
CDPL::Math::VectorRange< V >::VectorRange ( VectorType v,
const RangeType r 
)
inline

Member Function Documentation

◆ operator()() [1/2]

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

◆ operator()() [2/2]

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

◆ operator[]() [1/2]

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

◆ operator[]() [2/2]

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

◆ getStart()

template<typename V >
SizeType CDPL::Math::VectorRange< V >::getStart ( ) const
inline

◆ getSize()

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

◆ isEmpty()

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

◆ getData() [1/2]

template<typename V >
VectorClosureType& CDPL::Math::VectorRange< V >::getData ( )
inline

◆ getData() [2/2]

template<typename V >
const VectorClosureType& CDPL::Math::VectorRange< V >::getData ( ) const
inline

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ operator+=()

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

◆ operator-=()

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

◆ operator*=()

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

◆ operator/=()

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

◆ assign()

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

◆ plusAssign()

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

◆ minusAssign()

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

◆ swap()

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

Friends And Related Function Documentation

◆ swap

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

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