7#ifndef DUNE_FUNCTIONS_COMMON_DIFFEREENTIONABEFUNCTIONFROMCALLABLES_HH
8#define DUNE_FUNCTIONS_COMMON_DIFFEREENTIONABEFUNCTIONFROMCALLABLES_HH
11#include <dune/common/typeutilities.hh>
12#include <dune/common/hybridutilities.hh>
26template<
class Signature,
template<
class>
class DerivativeTraits,
class... Callables>
47template<
class Range,
class Domain,
template<
class>
class DerivativeTraits,
class F>
64 template<
class FF, disableCopyMove<DifferentiableFunctionFromCallables, FF> = 0>
66 f_(std::forward<FF>(f))
70 Range operator() (
const Domain& x)
const
82 DUNE_THROW(Dune::NotImplemented,
"Derivative not implemented");
107template<
class Range,
class Domain,
template<
class>
class DerivativeTraits,
class F,
class DF,
class... Derivatives>
124 template<
class FF,
class DFF,
class... DDFF>
126 f_(std::forward<FF>(f)),
127 df_(std::forward<DFF>(df), std::forward<DDFF>(ddf)...)
131 Range operator() (
const Domain& x)
const
166template<
class Signature,
template<
class>
class DerivativeTraits,
class... F>
167DifferentiableFunctionFromCallables<Signature, DerivativeTraits, F...>
friend Derivative derivative(const DifferentiableFunctionFromCallables &t)
Get derivative of DifferentiableFunctionFromCallables.
Definition differentiablefunctionfromcallables.hh:80
DifferentiableFunctionFromCallables< Signature, DerivativeTraits, F... > makeDifferentiableFunctionFromCallables(const SignatureTag< Signature, DerivativeTraits > &signatureTag, F &&... f)
Create a DifferentiableFunction from callables.
Definition differentiablefunctionfromcallables.hh:168
Definition polynomial.hh:17
Definition differentiablefunction.hh:33
Definition differentiablefunctionfromcallables.hh:27
DifferentiableFunctionFromCallables(FF &&f)
Constructor copying the given function.
Definition differentiablefunctionfromcallables.hh:65
typename SignatureTraits< Signature >::RawSignature RawSignature
Definition differentiablefunctionfromcallables.hh:55
Range(Domain) Signature
Signature of function.
Definition differentiablefunctionfromcallables.hh:53
typename DerivativeTraits< RawSignature >::Range(Domain) DerivativeSignature
Signature of derivative.
Definition differentiablefunctionfromcallables.hh:58
typename DerivativeTraits< RawSignature >::Range(Domain) DerivativeSignature
Definition differentiablefunctionfromcallables.hh:114
Range(Domain) Signature
Definition differentiablefunctionfromcallables.hh:112
typename SignatureTraits< Signature >::RawSignature RawSignature
Definition differentiablefunctionfromcallables.hh:113
DifferentiableFunctionFromCallables(FF &&f, DFF &&df, DDFF &&... ddf)
Constructor copying the given functions.
Definition differentiablefunctionfromcallables.hh:125
Helper class to deduce the signature of a callable.
Definition signature.hh:60
Definition signature.hh:106