Base class for a ternary functions. More...
#include <CompileTimeDerivatives.h>
Public Types | |
typedef libMesh::CompareTypes< typename L::ResultType, typename R::ResultType >::supertype | ResultType |
Public Member Functions | |
CTConditional (C condition, L left, R right) | |
auto | operator() () const |
template<CTTag dtag> | |
auto | D () const |
template<typename Self > | |
std::string | print () const |
template<typename Self > | |
std::string | printParens (const Self *, const std::string &op) const |
Static Public Member Functions | |
static constexpr int | precedence () |
precedence should reflect C++ operator precedence exactly (higher is binding tighter) More... | |
static constexpr bool | leftAssociative () |
left/right associative property should reflect C++ operator properties exactly More... | |
Protected Attributes | |
const C | _condition |
const L | _left |
const R | _right |
Base class for a ternary functions.
Definition at line 232 of file CompileTimeDerivatives.h.
|
inherited |
Definition at line 198 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 235 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 242 of file CompileTimeDerivatives.h.
|
inlinestaticinherited |
left/right associative property should reflect C++ operator properties exactly
Definition at line 31 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 240 of file CompileTimeDerivatives.h.
|
inlinestaticinherited |
precedence should reflect C++ operator precedence exactly (higher is binding tighter)
Definition at line 29 of file CompileTimeDerivatives.h.
|
inline |
Definition at line 248 of file CompileTimeDerivatives.h.
|
inlineinherited |
Definition at line 201 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTAdd< L, R >::print(), CompileTimeDerivatives::CTSub< L, R >::print(), CompileTimeDerivatives::CTMul< L, R >::print(), CompileTimeDerivatives::CTDiv< L, R >::print(), and CompileTimeDerivatives::CTCompare< C, L, R >::print().
|
protected |
Definition at line 254 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTConditional< C, L, R >::D(), CompileTimeDerivatives::CTConditional< C, L, R >::operator()(), and CompileTimeDerivatives::CTConditional< C, L, R >::print().
|
protectedinherited |
Definition at line 221 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTConditional< C, L, R >::D(), CompileTimeDerivatives::CTAdd< L, R >::D(), CompileTimeDerivatives::CTSub< L, R >::D(), CompileTimeDerivatives::CTMul< L, R >::D(), CompileTimeDerivatives::CTDiv< L, R >::D(), CompileTimeDerivatives::CTPow< L, R >::D(), CompileTimeDerivatives::CTConditional< C, L, R >::operator()(), CompileTimeDerivatives::CTAdd< L, R >::operator()(), CompileTimeDerivatives::CTSub< L, R >::operator()(), CompileTimeDerivatives::CTMul< L, R >::operator()(), CompileTimeDerivatives::CTDiv< L, R >::operator()(), CompileTimeDerivatives::CTCompare< C, L, R >::operator()(), CompileTimeDerivatives::CTPow< L, R >::operator()(), CompileTimeDerivatives::CTConditional< C, L, R >::print(), CompileTimeDerivatives::CTPow< L, R >::print(), and CompileTimeDerivatives::CTBinary< L, R >::printParens().
|
protectedinherited |
Definition at line 222 of file CompileTimeDerivatives.h.
Referenced by CompileTimeDerivatives::CTConditional< C, L, R >::D(), CompileTimeDerivatives::CTAdd< L, R >::D(), CompileTimeDerivatives::CTSub< L, R >::D(), CompileTimeDerivatives::CTMul< L, R >::D(), CompileTimeDerivatives::CTDiv< L, R >::D(), CompileTimeDerivatives::CTPow< L, R >::D(), CompileTimeDerivatives::CTConditional< C, L, R >::operator()(), CompileTimeDerivatives::CTAdd< L, R >::operator()(), CompileTimeDerivatives::CTSub< L, R >::operator()(), CompileTimeDerivatives::CTMul< L, R >::operator()(), CompileTimeDerivatives::CTDiv< L, R >::operator()(), CompileTimeDerivatives::CTCompare< C, L, R >::operator()(), CompileTimeDerivatives::CTPow< L, R >::operator()(), CompileTimeDerivatives::CTConditional< C, L, R >::print(), CompileTimeDerivatives::CTPow< L, R >::print(), and CompileTimeDerivatives::CTBinary< L, R >::printParens().