3 #ifndef DUNE_FUNCTIONS_COMMON_DIFFEREENTIONABEFUNCTIONFROMCALLABLES_HH 4 #define DUNE_FUNCTIONS_COMMON_DIFFEREENTIONABEFUNCTIONFROMCALLABLES_HH 7 #include <dune/common/typeutilities.hh> 8 #include <dune/common/hybridutilities.hh> 22 template<
class Signature,
template<
class>
class DerivativeTraits,
class... Callables>
43 template<
class Range,
class Domain,
template<
class>
class DerivativeTraits,
class F>
60 template<
class FF, disableCopyMove<DifferentiableFunctionFromCallables, FF> = 0>
62 f_(
std::forward<FF>(f))
66 Range operator() (
const Domain& x)
const 78 DUNE_THROW(Dune::NotImplemented,
"Derivative not implemented");
103 template<
class Range,
class Domain,
template<
class>
class DerivativeTraits,
class F,
class DF,
class... Derivatives>
120 template<
class FF,
class DFF,
class... DDFF>
122 f_(
std::forward<FF>(f)),
123 df_(
std::forward<DFF>(df),
std::forward<DDFF>(ddf)...)
127 Range operator() (
const Domain& x)
const 162 template<
class Signature,
template<
class>
class DerivativeTraits,
class... F>
174 #endif //DUNE_FUNCTIONS_COMMON_DIFFEREENTIONABEFUNCTIONFROMCALLABLES_HH Helper class to deduce the signature of a callable.
Definition: signature.hh:60
friend Derivative derivative(const DifferentiableFunctionFromCallables &t)
Get derivative of DifferentiableFunctionFromCallables.
Definition: differentiablefunctionfromcallables.hh:76
DifferentiableFunctionFromCallables(FF &&f, DFF &&df, DDFF &&... ddf)
Constructor copying the given functions.
Definition: differentiablefunctionfromcallables.hh:121
Range(Domain) Signature
Signature of function.
Definition: differentiablefunctionfromcallables.hh:49
Definition: differentiablefunction.hh:28
typename SignatureTraits< Signature >::RawSignature RawSignature
Definition: differentiablefunctionfromcallables.hh:51
typename DerivativeTraits< RawSignature >::Range(Domain) DerivativeSignature
Signature of derivative.
Definition: differentiablefunctionfromcallables.hh:54
Definition: differentiablefunctionfromcallables.hh:23
Definition: polynomial.hh:7
typename DerivativeTraits< RawSignature >::Range(Domain) DerivativeSignature
Definition: differentiablefunctionfromcallables.hh:110
DifferentiableFunctionFromCallables< Signature, DerivativeTraits, F... > makeDifferentiableFunctionFromCallables(const SignatureTag< Signature, DerivativeTraits > &signatureTag, F &&... f)
Create a DifferentiableFunction from callables.
Definition: differentiablefunctionfromcallables.hh:164
Definition: signature.hh:106
typename SignatureTraits< Signature >::RawSignature RawSignature
Definition: differentiablefunctionfromcallables.hh:109
DifferentiableFunctionFromCallables(FF &&f)
Constructor copying the given function.
Definition: differentiablefunctionfromcallables.hh:61
Range(Domain) Signature
Definition: differentiablefunctionfromcallables.hh:108