27 #ifndef CDPL_MATH_EXPRESSION_HPP
28 #define CDPL_MATH_EXPRESSION_HPP
102 template <
typename E>
140 template <
typename E>
178 template <
typename E>
213 template <
typename C>
248 template <
typename C>
283 template <
typename C>
318 template <
typename C>
CRTP base class for all numeric expression types in the Math namespace (Barton-Nackman idiom).
Definition: Expression.hpp:43
E ExpressionType
The derived expression type (made available to expression-template machinery).
Definition: Expression.hpp:47
~Expression()
Definition: Expression.hpp:51
Expression()
Definition: Expression.hpp:50
Refinement of Math::GridExpression marking the derived type as a concrete (writable) grid container.
Definition: Expression.hpp:320
ContainerType & operator()()
Returns a reference to the derived grid container.
Definition: Expression.hpp:339
~GridContainer()
Definition: Expression.hpp:346
const ContainerType & operator()() const
Returns a const reference to the derived grid container.
Definition: Expression.hpp:330
C ContainerType
The derived grid container type.
Definition: Expression.hpp:324
GridContainer()
Definition: Expression.hpp:345
CRTP base class for all grid expression types.
Definition: Expression.hpp:180
E ExpressionType
The derived grid expression type.
Definition: Expression.hpp:184
ExpressionType & operator()()
Returns a reference to the derived grid expression.
Definition: Expression.hpp:199
GridExpression()
Definition: Expression.hpp:205
~GridExpression()
Definition: Expression.hpp:206
const ExpressionType & operator()() const
Returns a const reference to the derived grid expression.
Definition: Expression.hpp:190
Refinement of Math::MatrixExpression marking the derived type as a concrete (writable) matrix contain...
Definition: Expression.hpp:250
const ContainerType & operator()() const
Returns a const reference to the derived matrix container.
Definition: Expression.hpp:260
MatrixContainer()
Definition: Expression.hpp:275
C ContainerType
The derived matrix container type.
Definition: Expression.hpp:254
~MatrixContainer()
Definition: Expression.hpp:276
ContainerType & operator()()
Returns a reference to the derived matrix container.
Definition: Expression.hpp:269
CRTP base class for all matrix expression types.
Definition: Expression.hpp:104
E ExpressionType
The derived matrix expression type.
Definition: Expression.hpp:108
const ExpressionType & operator()() const
Returns a const reference to the derived matrix expression.
Definition: Expression.hpp:114
MatrixExpression()
Definition: Expression.hpp:129
ExpressionType & operator()()
Returns a reference to the derived matrix expression.
Definition: Expression.hpp:123
~MatrixExpression()
Definition: Expression.hpp:130
Refinement of Math::QuaternionExpression marking the derived type as a concrete (writable) quaternion...
Definition: Expression.hpp:285
ContainerType & operator()()
Returns a reference to the derived quaternion container.
Definition: Expression.hpp:304
const ContainerType & operator()() const
Returns a const reference to the derived quaternion container.
Definition: Expression.hpp:295
QuaternionContainer()
Definition: Expression.hpp:310
C ContainerType
The derived quaternion container type.
Definition: Expression.hpp:289
~QuaternionContainer()
Definition: Expression.hpp:311
CRTP base class for all quaternion expression types.
Definition: Expression.hpp:142
QuaternionExpression()
Definition: Expression.hpp:167
ExpressionType & operator()()
Returns a reference to the derived quaternion expression.
Definition: Expression.hpp:161
~QuaternionExpression()
Definition: Expression.hpp:168
const ExpressionType & operator()() const
Returns a const reference to the derived quaternion expression.
Definition: Expression.hpp:152
E ExpressionType
The derived quaternion expression type.
Definition: Expression.hpp:146
Refinement of Math::VectorExpression marking the derived type as a concrete (writable) vector contain...
Definition: Expression.hpp:215
~VectorContainer()
Definition: Expression.hpp:241
C ContainerType
The derived vector container type.
Definition: Expression.hpp:219
ContainerType & operator()()
Returns a reference to the derived vector container.
Definition: Expression.hpp:234
const ContainerType & operator()() const
Returns a const reference to the derived vector container.
Definition: Expression.hpp:225
VectorContainer()
Definition: Expression.hpp:240
CRTP base class for all vector expression types.
Definition: Expression.hpp:66
const ExpressionType & operator()() const
Returns a const reference to the derived vector expression.
Definition: Expression.hpp:76
~VectorExpression()
Definition: Expression.hpp:92
ExpressionType & operator()()
Returns a reference to the derived vector expression.
Definition: Expression.hpp:85
E ExpressionType
The derived vector expression type.
Definition: Expression.hpp:70
VectorExpression()
Definition: Expression.hpp:91
constexpr unsigned int C
Specifies Carbon.
Definition: AtomType.hpp:92
constexpr unsigned int E
Specifies that the stereocenter has E configuration.
Definition: CIPDescriptor.hpp:96
The namespace of the Chemical Data Processing Library.