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

#include <Quaternion.hpp>

+ Inheritance diagram for CDPL::Math::Quaternion< T >:

Public Types

typedef T ValueType
 
typedef T & Reference
 
typedef const T & ConstReference
 
typedef ValueType ArrayType[4]
 
typedef T * Pointer
 
typedef const T * ConstPointer
 
typedef QuaternionReference< SelfTypeClosureType
 
typedef const QuaternionReference< const SelfTypeConstClosureType
 
typedef SelfType QuaternionTemporaryType
 
- Public Types inherited from CDPL::Math::QuaternionContainer< Quaternion< T > >
typedef Quaternion< T > ContainerType
 
- Public Types inherited from CDPL::Math::QuaternionExpression< E >
typedef E ExpressionType
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 

Public Member Functions

 Quaternion ()
 
 Quaternion (const ValueType &c1, const ValueType &c2=ValueType(), const ValueType &c3=ValueType(), const ValueType &c4=ValueType())
 
 Quaternion (const Quaternion &q)
 
template<typename E >
 Quaternion (const QuaternionExpression< E > &e)
 
Pointer getData ()
 
ConstPointer getData () const
 
Reference getC1 ()
 
Reference getC2 ()
 
Reference getC3 ()
 
Reference getC4 ()
 
ConstReference getC1 () const
 
ConstReference getC2 () const
 
ConstReference getC3 () const
 
ConstReference getC4 () const
 
void set (const ValueType &c1=ValueType(), const ValueType &c2=ValueType(), const ValueType &c3=ValueType(), const ValueType &c4=ValueType())
 
Quaternionoperator= (const Quaternion &q)
 
template<typename C >
Quaternionoperator= (const QuaternionContainer< C > &c)
 
template<typename E >
Quaternionoperator= (const QuaternionExpression< E > &e)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, Quaternion >::type & operator= (const T1 &t)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, Quaternion >::type & operator+= (const T1 &t)
 
template<typename C >
Quaternionoperator+= (const QuaternionContainer< C > &c)
 
template<typename E >
Quaternionoperator+= (const QuaternionExpression< E > &e)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, Quaternion >::type & operator-= (const T1 &t)
 
template<typename C >
Quaternionoperator-= (const QuaternionContainer< C > &c)
 
template<typename E >
Quaternionoperator-= (const QuaternionExpression< E > &e)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, Quaternion >::type & operator*= (const T1 &t)
 
template<typename E >
Quaternionoperator*= (const QuaternionExpression< E > &e)
 
template<typename T1 >
std::enable_if< IsScalar< T1 >::value, Quaternion >::type & operator/= (const T1 &t)
 
template<typename E >
Quaternionoperator/= (const QuaternionExpression< E > &e)
 
template<typename E >
Quaternionassign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionplusAssign (const QuaternionExpression< E > &e)
 
template<typename E >
QuaternionminusAssign (const QuaternionExpression< E > &e)
 
void swap (Quaternion &q)
 
- Public Member Functions inherited from CDPL::Math::QuaternionContainer< Quaternion< T > >
const ContainerTypeoperator() () const
 
ContainerTypeoperator() ()
 
- Public Member Functions inherited from CDPL::Math::QuaternionExpression< E >
const ExpressionTypeoperator() () const
 
ExpressionTypeoperator() ()
 

Friends

void swap (Quaternion &q1, Quaternion &q2)
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::QuaternionContainer< Quaternion< T > >
 QuaternionContainer ()
 
 ~QuaternionContainer ()
 
- Protected Member Functions inherited from CDPL::Math::QuaternionExpression< E >
 QuaternionExpression ()
 
 ~QuaternionExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Member Typedef Documentation

◆ ValueType

template<typename T >
typedef T CDPL::Math::Quaternion< T >::ValueType

◆ Reference

template<typename T >
typedef T& CDPL::Math::Quaternion< T >::Reference

◆ ConstReference

template<typename T >
typedef const T& CDPL::Math::Quaternion< T >::ConstReference

◆ ArrayType

template<typename T >
typedef ValueType CDPL::Math::Quaternion< T >::ArrayType[4]

◆ Pointer

template<typename T >
typedef T* CDPL::Math::Quaternion< T >::Pointer

◆ ConstPointer

template<typename T >
typedef const T* CDPL::Math::Quaternion< T >::ConstPointer

◆ ClosureType

template<typename T >
typedef QuaternionReference<SelfType> CDPL::Math::Quaternion< T >::ClosureType

◆ ConstClosureType

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

◆ QuaternionTemporaryType

template<typename T >
typedef SelfType CDPL::Math::Quaternion< T >::QuaternionTemporaryType

Constructor & Destructor Documentation

◆ Quaternion() [1/4]

template<typename T >
CDPL::Math::Quaternion< T >::Quaternion ( )
inline

◆ Quaternion() [2/4]

template<typename T >
CDPL::Math::Quaternion< T >::Quaternion ( const ValueType c1,
const ValueType c2 = ValueType(),
const ValueType c3 = ValueType(),
const ValueType c4 = ValueType() 
)
inlineexplicit

◆ Quaternion() [3/4]

template<typename T >
CDPL::Math::Quaternion< T >::Quaternion ( const Quaternion< T > &  q)
inline

◆ Quaternion() [4/4]

template<typename T >
template<typename E >
CDPL::Math::Quaternion< T >::Quaternion ( const QuaternionExpression< E > &  e)
inline

Member Function Documentation

◆ getData() [1/2]

template<typename T >
Pointer CDPL::Math::Quaternion< T >::getData ( )
inline

◆ getData() [2/2]

template<typename T >
ConstPointer CDPL::Math::Quaternion< T >::getData ( ) const
inline

◆ getC1() [1/2]

template<typename T >
Reference CDPL::Math::Quaternion< T >::getC1 ( )
inline

◆ getC2() [1/2]

template<typename T >
Reference CDPL::Math::Quaternion< T >::getC2 ( )
inline

◆ getC3() [1/2]

template<typename T >
Reference CDPL::Math::Quaternion< T >::getC3 ( )
inline

◆ getC4() [1/2]

template<typename T >
Reference CDPL::Math::Quaternion< T >::getC4 ( )
inline

◆ getC1() [2/2]

template<typename T >
ConstReference CDPL::Math::Quaternion< T >::getC1 ( ) const
inline

◆ getC2() [2/2]

template<typename T >
ConstReference CDPL::Math::Quaternion< T >::getC2 ( ) const
inline

◆ getC3() [2/2]

template<typename T >
ConstReference CDPL::Math::Quaternion< T >::getC3 ( ) const
inline

◆ getC4() [2/2]

template<typename T >
ConstReference CDPL::Math::Quaternion< T >::getC4 ( ) const
inline

◆ set()

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

◆ operator=() [1/4]

template<typename T >
Quaternion& CDPL::Math::Quaternion< T >::operator= ( const Quaternion< T > &  q)
inline

◆ operator=() [2/4]

template<typename T >
template<typename C >
Quaternion& CDPL::Math::Quaternion< T >::operator= ( const QuaternionContainer< C > &  c)
inline

◆ operator=() [3/4]

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

◆ operator=() [4/4]

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

◆ operator+=() [1/3]

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

◆ operator+=() [2/3]

template<typename T >
template<typename C >
Quaternion& CDPL::Math::Quaternion< T >::operator+= ( const QuaternionContainer< C > &  c)
inline

◆ operator+=() [3/3]

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

◆ operator-=() [1/3]

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

◆ operator-=() [2/3]

template<typename T >
template<typename C >
Quaternion& CDPL::Math::Quaternion< T >::operator-= ( const QuaternionContainer< C > &  c)
inline

◆ operator-=() [3/3]

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

◆ operator*=() [1/2]

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

◆ operator*=() [2/2]

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

◆ operator/=() [1/2]

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

◆ operator/=() [2/2]

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

◆ assign()

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

◆ plusAssign()

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

◆ minusAssign()

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

◆ swap()

template<typename T >
void CDPL::Math::Quaternion< T >::swap ( Quaternion< T > &  q)
inline

Friends And Related Function Documentation

◆ swap

template<typename T >
void swap ( Quaternion< T > &  q1,
Quaternion< T > &  q2 
)
friend

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