DUNE-ACFEM (unstable)
ExpressionStorage
Expressions store their arguments as copies if constructed from rvalue references or as references if constructed from lvalues. More...
Typedefs | |
template<class T > | |
using | Dune::ACFem::Expressions::IsConstantExprArg = BoolConstant<!ExpressionTraits< T >::isVolatile &&(ExpressionTraits< T >::isTypedValue||ExpressionTraits< T >::isConstant||(!std::is_reference< T >::value &&ExpressionTraits< T >::isIndependent))> |
Evaluate to true if an instance of T can be treated as constant argument to an expresion. More... | |
Functions | |
template<std::size_t I, class T > | |
constexpr void | Dune::ACFem::Expressions::danglingReferenceCheck (T &&t, IndexConstant< I >=IndexConstant< I >{}) |
template<class F , class... T> | |
constexpr auto | Dune::ACFem::Expressions::storage (const F &f, T &&... t) |
Generate an expression storage container. | |
Variables | |
template<class T > | |
static constexpr bool | Dune::ACFem::Expressions::EmitByValueV = IsTypedValue<T>::value && !StorageImpl::HasSubExpressionOperation<T>::value |
Force some things to always be emitted as non-references. | |
Detailed Description
Expressions store their arguments as copies if constructed from rvalue references or as references if constructed from lvalues.
Typedef Documentation
◆ IsConstantExprArg
template<class T >
using Dune::ACFem::Expressions::IsConstantExprArg = typedef BoolConstant<!ExpressionTraits<T>::isVolatile && (ExpressionTraits<T>::isTypedValue || ExpressionTraits<T>::isConstant || (!std::is_reference<T>::value && ExpressionTraits<T>::isIndependent))> |
Evaluate to true
if an instance of T can be treated as constant argument to an expresion.
Knowledge about this opens optimization possibilities.
- Parameters
-
[in] T Some type, references are allowed.
Function Documentation
◆ danglingReferenceCheck()
template<std::size_t I, class T >
|
constexpr |
Check for dangling reference returned from operand() call.
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 28, 23:30, 2024)