Chemical Data Processing Library C++ API - Version 1.2.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 QuaternionTypegetData () const
 
QuaternionTypegetData ()
 
QuaternionReferenceoperator= (const QuaternionReference &r)
 
template<typename E >
QuaternionReferenceoperator= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator= (const T &t)
 
template<typename E >
QuaternionReferenceoperator+= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator+= (const T &t)
 
template<typename E >
QuaternionReferenceoperator-= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator-= (const T &t)
 
template<typename E >
QuaternionReferenceoperator*= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator*= (const T &t)
 
template<typename E >
QuaternionReferenceoperator/= (const QuaternionExpression< E > &e)
 
template<typename T >
std::enable_if< IsScalar< T >::value, QuaternionReference >::type & operator/= (const T &t)
 
template<typename E >
QuaternionReferenceassign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionReferenceplusAssign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionReferenceminusAssign (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 ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

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: