3 #ifndef DUNE_FUNCTIONS_COMMON_DIFFERENTIABLE_FUNCTION_HH 4 #define DUNE_FUNCTIONS_COMMON_DIFFERENTIABLE_FUNCTION_HH 8 #include <dune/common/typeutilities.hh> 27 template<
class Signature,
template<
class>
class DerivativeTraits=DefaultDerivativeTraits,
size_t bufferSize=56>
37 template<
class S,
template<
class>
class DerivativeTraits,
size_t bufferSize>
80 template<
class Range,
class Domain,
template<
class>
class DerivativeTraits,
size_t bufferSize>
83 typename Imp::DifferentiableFunctionTraits<Range(Domain), DerivativeTraits, bufferSize>::Concept,
84 Imp::DifferentiableFunctionTraits<Range(Domain), DerivativeTraits, bufferSize>::template Model>
105 template<
class F, disableCopyMove<DifferentiableFunction, F> = 0 >
118 Range operator() (
const Domain& x)
const 120 return this->asInterface().operator()(x);
132 return t.asInterface().derivative();
142 #endif // DUNE_FUNCTIONS_COMMON_DIFFERENTIABLE_FUNCTION_HH typename SignatureTraits< Signature >::Domain Domain
Domain type.
Definition: differentiablefunction.hh:47
static constexpr bool isFunction()
Check if F models the Function concept with given signature.
Definition: functionconcepts.hh:76
typename SignatureTraits< Signature >::Range Range
Range type.
Definition: differentiablefunction.hh:44
Definition: differentiablefunction.hh:28
Definition: polynomial.hh:7
Definition: differentiablefunction_imp.hh:69
S Signature
Signature type.
Definition: differentiablefunction.hh:41
friend DerivativeInterface derivative(const DifferentiableFunction &t)
Get derivative of wrapped function.
Definition: differentiablefunction.hh:130
DifferentiableFunction(F &&f)
Construct from function.
Definition: differentiablefunction.hh:106
typename SignatureTraits< Signature >::template DerivativeSignature< DerivativeTraits > DerivativeSignature
Signature of the derivative.
Definition: differentiablefunction.hh:50
Definition: differentiablefunction_imp.hh:50
Base class for type-erased interface wrapper.
Definition: typeerasure.hh:164
Helper class to deduce the signature of a callable.
Definition: signature.hh:60
Traits class providing type information for DifferentiableFunction.
Definition: differentiablefunction.hh:38