DUNE-ACFEM (unstable)
expressiontraits.hh
23 using IsNonTensorTensorOperand = BoolConstant<(IsTensorOperand<T>::value && !IsTensor<T>::value)>;
143 using IsUnaryTensorExpression = BoolConstant<IsTensor<T>::value && IsUnaryExpression<T>::value>;
147 using IsBinaryTensorExpression = BoolConstant<IsTensor<T>::value && IsBinaryExpression<T>::value>;
176 static constexpr bool isOne = (DefaultTraits::isOne || FieldTraits::isOne) && Traits::rank == 0;
177 static constexpr bool isMinusOne = (DefaultTraits::isMinusOne || FieldTraits::isMinusOne) && Traits::rank == 0;
178 static constexpr bool isSemiPositive = DefaultTraits::isSemiPositive || FieldTraits::isSemiPositive;
179 static constexpr bool isSemiNegative = DefaultTraits::isSemiNegative || FieldTraits::isSemiNegative;
constexpr decltype(auto) asExpression(T &&t)
Return a non-closure expression as is.
Definition: interface.hh:122
decltype(operate(std::declval< OptOrF >(), std::declval< Rest >()...)) ExpressionType
Generate the type of an expression by calling operate().
Definition: optimizationbase.hh:256
constexpr bool isConstant(Sequence< T, T0, Ts... >)
Definition: compare.hh:285
Constant< bool, V > BoolConstant
Short-cut for integral constant of type bool.
Definition: types.hh:48
Constant< std::size_t, V > IndexConstant
Short-cut for integral constant of type std::size_t.
Definition: types.hh:44
BoolConstant< false > FalseType
Alias for std::false_type.
Definition: types.hh:110
STL namespace.
Default expression traits definition is a recursion in order to ease disambiguation.
Definition: expressiontraits.hh:54
A class mainting the sign of an expression during operations.
Definition: sign.hh:30
TrueType if T is an expression of arity 2, otherwise FalseType.
Definition: storage.hh:566
TrueType if T is an expression of arity 1, otherwise FalseType.
Definition: storage.hh:560
Deduce ExpressionTraits from tag-class overrides.
Definition: traitsdefault.hh:20
Helper class for specializing Dune::FieldTraits.
Definition: typetraits.hh:96
Definition: expressiontraits.hh:67
Should be specialized to TrueType if for a specific tensor ExpressionTraits need to be re-implemented...
Definition: expressiontraits.hh:156
Definition: tensorbase.hh:117
We should not inject scalars into unary expressions as this very easily will lead to ambiguities.
Definition: expressiontraits.hh:49
Generate the rank of the N-th operand if applicable.
Definition: expressiontraits.hh:87
A class implementing compile-time constant fractions of integers.
Definition: fractionconstant.hh:27
