DUNE-ACFEM (unstable)
interface.hh
141 using IsPromotedTopLevel = BoolConstant<IsClosure<T>::value || IsTypedValueReference<T>::value || IsIntegralConstant<T>::value>;
153 std::enable_if_t<(NthIs<N, IsClosure, T...>::value && !AnyIs<IsIntegralConstant, T...>::value), int> = 0>
167 return std::decay_t<TupleElement<N, std::tuple<T...> > >(get<N>(std::forward_as_tuple(std::forward<T>(t)...)));
176 return std::forward<TupleElement<N, std::tuple<T...> > >(get<N>(std::forward_as_tuple(std::forward<T>(t)...)));
constexpr decltype(auto) asExpression(T &&t)
Return a non-closure expression as is.
Definition: interface.hh:122
typename ClosureTraits< T >::ExpressionType EnclosedType
Type alias shortcut to get hold of the type contained in an "expression closure".
Definition: interface.hh:77
constexpr decltype(auto) operandPromotion(T &&... t)
The purpose of this function is to promote operands to other types, e.g.
Definition: interface.hh:154
constexpr decltype(auto) expressionClosure(T &&t)
Do-nothing default implementation for pathologic cases.
Definition: interface.hh:93
BoolConstant< std::is_reference< T >::value &&IsTypedValue< T >::value > IsTypedValueReference
Compile-time true if T is a reference to a "typed value".
Definition: expressiontraits.hh:94
std::tuple_element_t< N, std::decay_t< TupleLike > > TupleElement
Forward to std::tuple_element<N, std::decay_t<T> >
Definition: access.hh:125
Predicate< TypePackElement< N, T... > > NthIs
Instantiates to Predicate applied to the N-th element of T...
Definition: compare.hh:470
BoolConstant<(...||Predicate< T >::value)> AnyIs
TrueType if any type matches the predicate.
Definition: compare.hh:462
BoolConstant< false > FalseType
Alias for std::false_type.
Definition: types.hh:110
typename RemoveRValueReference< T >::Type RemoveRValueReferenceType
If T is an rvalue reference then yield the dereferenced type.
Definition: removervaluereference.hh:38
STL namespace.
Provide the type ExpressionType for non-closure expressions.
Definition: interface.hh:61
An expression closure is a wrapper class which wraps an expression in order to interface to other exi...
Definition: interface.hh:50
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Jan 3, 23:40, 2025)