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

#include <Quaternion.hpp>

+ Inheritance diagram for CDPL::Math::QuaternionReference< Q >:

Public Types

typedef Q QuaternionType
 
typedef Q::ValueType ValueType
 
typedef std::conditional< std::is_const< Q >::value, typename Q::ConstReference, typename Q::Reference >::type Reference
 
typedef Q::ConstReference ConstReference
 
typedef SelfType ClosureType
 
typedef const SelfType ConstClosureType
 
- Public Types inherited from CDPL::Math::QuaternionExpression< QuaternionReference< Q > >
typedef QuaternionReference< Q > ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 QuaternionReference (QuaternionType &q)
 
Reference getC1 ()
 
Reference getC2 ()
 
Reference getC3 ()
 
Reference getC4 ()
 
ConstReference getC1 () const
 
ConstReference getC2 () const
 
ConstReference getC3 () const
 
ConstReference getC4 () const
 
const QuaternionType & getData () const
 
QuaternionType & getData ()
 
QuaternionReference & operator= (const QuaternionReference &r)
 
template<typename E >
QuaternionReference & operator= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator= (const T &t)
 
template<typename E >
QuaternionReference & operator+= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator+= (const T &t)
 
template<typename E >
QuaternionReference & operator-= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator-= (const T &t)
 
template<typename E >
QuaternionReference & operator*= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator*= (const T &t)
 
template<typename E >
QuaternionReference & operator/= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator/= (const T &t)
 
template<typename E >
QuaternionReference & assign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionReference & plusAssign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionReference & minusAssign (const QuaternionExpression< E > &e)
 
void swap (QuaternionReference &r)
 
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< QuaternionReference< Q > >
const ExpressionType & operator() () const
 
ExpressionType & operator() ()
 

Friends

void swap (QuaternionReference &r1, QuaternionReference &r2)
 

Additional Inherited Members

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

Member Typedef Documentation

◆ QuaternionType

template<typename Q >
typedef Q CDPL::Math::QuaternionReference< Q >::QuaternionType

◆ ValueType

template<typename Q >
typedef Q::ValueType CDPL::Math::QuaternionReference< Q >::ValueType

◆ Reference

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

◆ ConstReference

template<typename Q >
typedef Q::ConstReference CDPL::Math::QuaternionReference< Q >::ConstReference

◆ ClosureType

template<typename Q >
typedef SelfType CDPL::Math::QuaternionReference< Q >::ClosureType

◆ ConstClosureType

template<typename Q >
typedef const SelfType CDPL::Math::QuaternionReference< Q >::ConstClosureType

Constructor & Destructor Documentation

◆ QuaternionReference()

template<typename Q >
CDPL::Math::QuaternionReference< Q >::QuaternionReference ( QuaternionType &  q)
inlineexplicit

Member Function Documentation

◆ getC1() [1/2]

template<typename Q >
Reference CDPL::Math::QuaternionReference< Q >::getC1 ( )
inline

◆ getC2() [1/2]

template<typename Q >
Reference CDPL::Math::QuaternionReference< Q >::getC2 ( )
inline

◆ getC3() [1/2]

template<typename Q >
Reference CDPL::Math::QuaternionReference< Q >::getC3 ( )
inline

◆ getC4() [1/2]

template<typename Q >
Reference CDPL::Math::QuaternionReference< Q >::getC4 ( )
inline

◆ getC1() [2/2]

template<typename Q >
ConstReference CDPL::Math::QuaternionReference< Q >::getC1 ( ) const
inline

◆ getC2() [2/2]

template<typename Q >
ConstReference CDPL::Math::QuaternionReference< Q >::getC2 ( ) const
inline

◆ getC3() [2/2]

template<typename Q >
ConstReference CDPL::Math::QuaternionReference< Q >::getC3 ( ) const
inline

◆ getC4() [2/2]

template<typename Q >
ConstReference CDPL::Math::QuaternionReference< Q >::getC4 ( ) const
inline

◆ getData() [1/2]

template<typename Q >
const QuaternionType& CDPL::Math::QuaternionReference< Q >::getData ( ) const
inline

◆ getData() [2/2]

template<typename Q >
QuaternionType& CDPL::Math::QuaternionReference< Q >::getData ( )
inline

◆ operator=() [1/3]

template<typename Q >
QuaternionReference& CDPL::Math::QuaternionReference< Q >::operator= ( const QuaternionReference< Q > &  r)
inline

◆ operator=() [2/3]

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

◆ operator=() [3/3]

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

◆ operator+=() [1/2]

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

◆ operator+=() [2/2]

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

◆ operator-=() [1/2]

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

◆ operator-=() [2/2]

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

◆ operator*=() [1/2]

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

◆ operator*=() [2/2]

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

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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

◆ assign()

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

◆ plusAssign()

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

◆ minusAssign()

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

◆ swap()

template<typename Q >
void CDPL::Math::QuaternionReference< Q >::swap ( QuaternionReference< Q > &  r)
inline

◆ set()

template<typename Q >
void CDPL::Math::QuaternionReference< Q >::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 Q >
void swap ( QuaternionReference< Q > &  r1,
QuaternionReference< Q > &  r2 
)
friend

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