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

Expression-template node combining two quaternion expressions E1 and E2 via the per-component functor F (which exposes four separate applyC1 / applyC2 / applyC3 / applyC4 methods operating on the whole source expressions). More...

#include <QuaternionExpression.hpp>

+ Inheritance diagram for CDPL::Math::QuaternionBinary2< E1, E2, 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< QuaternionBinary2< E1, E2, F > >
typedef QuaternionBinary2< E1, E2, 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

 QuaternionBinary2 (const Expression1Type &e1, const Expression2Type &e2)
 Constructs the expression-template node wrapping e1 and e2. More...
 
ConstReference getC1 () const
 Returns the result of applying the functor's applyC1 method to the two wrapped expressions. More...
 
ConstReference getC2 () const
 Returns the result of applying the functor's applyC2 method to the two wrapped expressions. More...
 
ConstReference getC3 () const
 Returns the result of applying the functor's applyC3 method to the two wrapped expressions. More...
 
ConstReference getC4 () const
 Returns the result of applying the functor's applyC4 method to the two wrapped expressions. More...
 
- Public Member Functions inherited from CDPL::Math::QuaternionExpression< QuaternionBinary2< E1, E2, 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< QuaternionBinary2< E1, E2, F > >
 QuaternionExpression ()
 
 ~QuaternionExpression ()
 
- Protected Member Functions inherited from CDPL::Math::Expression< E >
 Expression ()
 
 ~Expression ()
 

Detailed Description

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

Expression-template node combining two quaternion expressions E1 and E2 via the per-component functor F (which exposes four separate applyC1 / applyC2 / applyC3 / applyC4 methods operating on the whole source expressions).

Template Parameters
E1The first wrapped quaternion expression type.
E2The second wrapped quaternion expression type.
FThe per-component functor type.

Member Typedef Documentation

◆ ValueType

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

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

◆ ConstReference

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

Constant reference type to a component value.

◆ Reference

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

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

◆ ConstClosureType

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

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

◆ ClosureType

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

Closure type used when this expression appears inside another expression.

Constructor & Destructor Documentation

◆ QuaternionBinary2()

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

Constructs the expression-template node wrapping e1 and e2.

Parameters
e1The first quaternion expression.
e2The second quaternion expression.

Member Function Documentation

◆ getC1()

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

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

Returns
The computed C1 component.

◆ getC2()

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

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

Returns
The computed C2 component.

◆ getC3()

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

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

Returns
The computed C3 component.

◆ getC4()

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

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

Returns
The computed C4 component.

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