Chemical Data Processing Library C++ API - Version 1.4.0
Public Types | Public Member Functions | List of all members
CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F > Class Template Reference

Expression-template node combining two quaternion expressions E1 (lhs) and E2 (middle) with a scalar E3 (rhs) via the per-component ternary functor F. More...

#include <QuaternionExpression.hpp>

+ Inheritance diagram for CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >:

Public Types

typedef F::ResultType ValueType
 The element value type of the expression (the functor's result type). More...
 
typedef const ValueType ConstReference
 Constant reference type to a component value. More...
 
typedef const ValueType Reference
 Mutable reference type (degrades to const for expression-template results). More...
 
typedef const SelfType ConstClosureType
 Constant closure type used when this expression appears inside another expression. More...
 
typedef SelfType ClosureType
 Closure type used when this expression appears inside another expression. More...
 
- Public Types inherited from CDPL::Math::QuaternionExpression< Scalar3QuaternionTernary< E1, E2, E3, F > >
typedef Scalar3QuaternionTernary< E1, E2, E3, F > ExpressionType
 The derived quaternion expression type. More...
 
- Public Types inherited from CDPL::Math::Expression< E >
typedef E ExpressionType
 The derived expression type (made available to expression-template machinery). More...
 

Public Member Functions

 Scalar3QuaternionTernary (const Expression1Type &e1, const Expression2Type &e2, const Expression3Type &e3)
 Constructs the expression-template node combining the two quaternion expressions and the scalar. More...
 
ConstReference getC1 () const
 Returns the result of applying the functor's applyC1 method to the two wrapped expressions and the scalar. More...
 
ConstReference getC2 () const
 Returns the result of applying the functor's applyC2 method to the two wrapped expressions and the scalar. More...
 
ConstReference getC3 () const
 Returns the result of applying the functor's applyC3 method to the two wrapped expressions and the scalar. More...
 
ConstReference getC4 () const
 Returns the result of applying the functor's applyC4 method to the two wrapped expressions and the scalar. More...
 
- Public Member Functions inherited from CDPL::Math::QuaternionExpression< Scalar3QuaternionTernary< E1, E2, E3, F > >
const ExpressionTypeoperator() () const
 Returns a const reference to the derived quaternion expression. More...
 
ExpressionTypeoperator() ()
 Returns a reference to the derived quaternion expression. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CDPL::Math::QuaternionExpression< Scalar3QuaternionTernary< E1, E2, E3, F > >
 QuaternionExpression ()
 
 ~QuaternionExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Detailed Description

template<typename E1, typename E2, typename E3, typename F>
class CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >

Expression-template node combining two quaternion expressions E1 (lhs) and E2 (middle) with a scalar E3 (rhs) via the per-component ternary functor F.

Template Parameters
E1The first wrapped quaternion expression type.
E2The second wrapped quaternion expression type.
E3The scalar type appearing on the right-hand side.
FThe per-component ternary functor type.

Member Typedef Documentation

◆ ValueType

template<typename E1 , typename E2 , typename E3 , typename F >
typedef F::ResultType CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::ValueType

The element value type of the expression (the functor's result type).

◆ ConstReference

template<typename E1 , typename E2 , typename E3 , typename F >
typedef const ValueType CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::ConstReference

Constant reference type to a component value.

◆ Reference

template<typename E1 , typename E2 , typename E3 , typename F >
typedef const ValueType CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::Reference

Mutable reference type (degrades to const for expression-template results).

◆ ConstClosureType

template<typename E1 , typename E2 , typename E3 , typename F >
typedef const SelfType CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::ConstClosureType

Constant closure type used when this expression appears inside another expression.

◆ ClosureType

template<typename E1 , typename E2 , typename E3 , typename F >
typedef SelfType CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::ClosureType

Closure type used when this expression appears inside another expression.

Constructor & Destructor Documentation

◆ Scalar3QuaternionTernary()

template<typename E1 , typename E2 , typename E3 , typename F >
CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::Scalar3QuaternionTernary ( const Expression1Type &  e1,
const Expression2Type &  e2,
const Expression3Type &  e3 
)
inline

Constructs the expression-template node combining the two quaternion expressions and the scalar.

Parameters
e1The first quaternion expression.
e2The second quaternion expression.
e3The scalar value on the right-hand side.

Member Function Documentation

◆ getC1()

template<typename E1 , typename E2 , typename E3 , typename F >
ConstReference CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::getC1 ( ) const
inline

Returns the result of applying the functor's applyC1 method to the two wrapped expressions and the scalar.

Returns
The computed C1 component.

◆ getC2()

template<typename E1 , typename E2 , typename E3 , typename F >
ConstReference CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::getC2 ( ) const
inline

Returns the result of applying the functor's applyC2 method to the two wrapped expressions and the scalar.

Returns
The computed C2 component.

◆ getC3()

template<typename E1 , typename E2 , typename E3 , typename F >
ConstReference CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::getC3 ( ) const
inline

Returns the result of applying the functor's applyC3 method to the two wrapped expressions and the scalar.

Returns
The computed C3 component.

◆ getC4()

template<typename E1 , typename E2 , typename E3 , typename F >
ConstReference CDPL::Math::Scalar3QuaternionTernary< E1, E2, E3, F >::getC4 ( ) const
inline

Returns the result of applying the functor's applyC4 method to the two wrapped expressions and the scalar.

Returns
The computed C4 component.

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