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

#include <VectorAdapter.hpp>

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

Public Types

typedef V VectorType
 
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
 
- Public Types inherited from CDPL::Math::QuaternionExpression< VectorQuaternionAdapter< V > >
typedef VectorQuaternionAdapter< V > ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 VectorQuaternionAdapter (VectorType &v)
 
Reference getC1 ()
 
Reference getC2 ()
 
Reference getC3 ()
 
Reference getC4 ()
 
ConstReference getC1 () const
 
ConstReference getC2 () const
 
ConstReference getC3 () const
 
ConstReference getC4 () const
 
VectorClosureType & getData ()
 
const VectorClosureType & getData () const
 
VectorQuaternionAdapter & operator= (const VectorQuaternionAdapter &a)
 
template<typename E >
VectorQuaternionAdapter & operator= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorQuaternionAdapter >::type & operator= (const T &t)
 
template<typename E >
VectorQuaternionAdapter & operator+= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorQuaternionAdapter >::type & operator+= (const T &t)
 
template<typename E >
VectorQuaternionAdapter & operator-= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorQuaternionAdapter >::type & operator-= (const T &t)
 
template<typename E >
VectorQuaternionAdapter & operator*= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorQuaternionAdapter >::type & operator*= (const T &t)
 
template<typename E >
VectorQuaternionAdapter & operator/= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, VectorQuaternionAdapter >::type & operator/= (const T &t)
 
template<typename E >
VectorQuaternionAdapter & assign (const QuaternionExpression< E > &e)
 
template<typename E >
VectorQuaternionAdapter & plusAssign (const QuaternionExpression< E > &e)
 
template<typename E >
VectorQuaternionAdapter & minusAssign (const QuaternionExpression< E > &e)
 
void swap (VectorQuaternionAdapter &a)
 
void set (const ValueType &c1=ValueType(), const ValueType &c2=ValueType(), const ValueType &c3=ValueType(), const ValueType &c4=ValueType())
 
- Public Member Functions inherited from CDPL::Math::QuaternionExpression< VectorQuaternionAdapter< V > >
const ExpressionType & operator() () const
 
ExpressionType & operator() ()
 

Friends

void swap (VectorQuaternionAdapter &a1, VectorQuaternionAdapter &a2)
 

Additional Inherited Members

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

Member Typedef Documentation

◆ VectorType

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

◆ ValueType

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

◆ ConstReference

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

◆ Reference

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

◆ VectorClosureType

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

◆ ConstClosureType

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

◆ ClosureType

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

Constructor & Destructor Documentation

◆ VectorQuaternionAdapter()

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

Member Function Documentation

◆ getC1() [1/2]

template<typename V >
Reference CDPL::Math::VectorQuaternionAdapter< V >::getC1 ( )
inline

◆ getC2() [1/2]

template<typename V >
Reference CDPL::Math::VectorQuaternionAdapter< V >::getC2 ( )
inline

◆ getC3() [1/2]

template<typename V >
Reference CDPL::Math::VectorQuaternionAdapter< V >::getC3 ( )
inline

◆ getC4() [1/2]

template<typename V >
Reference CDPL::Math::VectorQuaternionAdapter< V >::getC4 ( )
inline

◆ getC1() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorQuaternionAdapter< V >::getC1 ( ) const
inline

◆ getC2() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorQuaternionAdapter< V >::getC2 ( ) const
inline

◆ getC3() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorQuaternionAdapter< V >::getC3 ( ) const
inline

◆ getC4() [2/2]

template<typename V >
ConstReference CDPL::Math::VectorQuaternionAdapter< V >::getC4 ( ) const
inline

◆ getData() [1/2]

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

◆ getData() [2/2]

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

◆ operator=() [1/3]

template<typename V >
VectorQuaternionAdapter& CDPL::Math::VectorQuaternionAdapter< V >::operator= ( const VectorQuaternionAdapter< V > &  a)
inline

◆ operator=() [2/3]

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

◆ operator=() [3/3]

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

◆ operator+=() [1/2]

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

◆ operator+=() [2/2]

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

◆ operator-=() [1/2]

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

◆ operator-=() [2/2]

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

◆ operator*=() [1/2]

template<typename V >
template<typename E >
VectorQuaternionAdapter& CDPL::Math::VectorQuaternionAdapter< V >::operator*= ( const QuaternionExpression< E > &  e)
inline

◆ operator*=() [2/2]

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

◆ operator/=() [1/2]

template<typename V >
template<typename E >
VectorQuaternionAdapter& CDPL::Math::VectorQuaternionAdapter< V >::operator/= ( const QuaternionExpression< E > &  e)
inline

◆ operator/=() [2/2]

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

◆ assign()

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

◆ plusAssign()

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

◆ minusAssign()

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

◆ swap()

template<typename V >
void CDPL::Math::VectorQuaternionAdapter< V >::swap ( VectorQuaternionAdapter< V > &  a)
inline

◆ set()

template<typename V >
void CDPL::Math::VectorQuaternionAdapter< V >::set ( const ValueType &  c1 = ValueType(),
const ValueType &  c2 = ValueType(),
const ValueType &  c3 = ValueType(),
const ValueType &  c4 = ValueType() 
)
inline

Friends And Related Function Documentation

◆ swap

template<typename V >
void swap ( VectorQuaternionAdapter< V > &  a1,
VectorQuaternionAdapter< V > &  a2 
)
friend

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