DUNE-ACFEM (unstable)
Dune::ACFem::PDEModel::ModelMethod< Model, ReturnValueFunctor, tag, LinArgSeq, OuterArgSeq, InnerArgSeq, Enable > Class Template Reference
Implement the method specified by tag with the signature defined by OuterArgSeq. More...
Detailed Description
template<class Model, class ReturnValueFunctor, std::size_t tag, class LinArgSeq, class OuterArgSeq, class InnerArgSeq, class Enable = void>
class Dune::ACFem::PDEModel::ModelMethod< Model, ReturnValueFunctor, tag, LinArgSeq, OuterArgSeq, InnerArgSeq, Enable >
class Dune::ACFem::PDEModel::ModelMethod< Model, ReturnValueFunctor, tag, LinArgSeq, OuterArgSeq, InnerArgSeq, Enable >
Implement the method specified by tag with the signature defined by OuterArgSeq.
If Model defines the corresponding method then forward to the method defined by the model with the call-signature defined by InnerArgSeq. Otherwise forward to the linearized method or implement a dummy method with the requested call-signature which returns 0.
- Note
- Unfortunately, the quadrature point comes as a free template. This again doubles the number of specializations: if the point is omitted, then the method is a non-template method. Also: at least gcc fails to deduce the correct call pattern when not specializing the quad-point/no quad-point case.
- Parameters
-
[in] Model The model class. [in] ReturnValueFunctor A function-like object (e.g. a lambda) which is applied to the return value of the respective model method in order to implement unary model operations. [in] tag The "name" of the requested method. [in] LinArgSeq Indices into to closure argument tuple to get the point of linearization. [in] OuterArgSeq Indices into the closure argument tuple. [in] InnerArgSeq Indices into the sub-tuple of the closure argument tuple defined by OuterArgSeq. [in] Disable Dummy template parameter in order to disable template instantiation using the usual std::enable_if_t technique.
The documentation for this class was generated from the following file:
- dune/acfem/models/unaryexpression.hh
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Dec 27, 23:30, 2024)