7#ifndef DUNE_FUNCTIONS_COMMON_LOCALFUNCTION_FUNCTION_IMP_HH
8#define DUNE_FUNCTIONS_COMMON_LOCALFUNCTION_FUNCTION_IMP_HH
10#include <dune/functions/common/type_traits.hh>
11#include <dune/functions/common/differentiablefunction_imp.hh>
23template<
class Signature,
class DerivativeInterface,
class LocalContext>
24class LocalFunctionWrapperInterface :
25 public DifferentiableFunctionWrapperInterface<Signature, DerivativeInterface>
28 virtual void bind(
const LocalContext&) = 0;
30 virtual void unbind() = 0;
32 virtual bool bound()
const = 0;
34 virtual const LocalContext& localContext()
const = 0;
39template<
class Signature,
class DerivativeInterface,
class LocalContext,
class B>
40class LocalFunctionWrapperImplementation :
41 public DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>
43 using Base = DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>;
47 virtual void bind(
const LocalContext& context)
49 this->
get().bind(context);
57 virtual bool bound()
const
59 return this->
get().bound();
62 virtual const LocalContext& localContext()
const
64 return this->
get().localContext();
Dune namespace.
Definition: alignedallocator.hh:13
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})
Return the entry at position pos of the given sequence.
Definition: integersequence.hh:22