7#ifndef DUNE_FUNCTIONS_GRIDFUNCTIONS_GRID_FUNCTION_IMP_HH
8#define DUNE_FUNCTIONS_GRIDFUNCTIONS_GRID_FUNCTION_IMP_HH
23struct HasFreeLocalFunction
26 auto require(F&& f) ->
decltype(
37template<
class Signature,
class DerivativeInterface,
class LocalFunctionInterface,
class EntitySet>
38class GridFunctionWrapperInterface :
39 public DifferentiableFunctionWrapperInterface<Signature, DerivativeInterface>
42 virtual LocalFunctionInterface wrappedLocalFunction()
const = 0;
44 virtual const EntitySet& wrappedEntitySet()
const = 0;
49template<
class Signature,
class DerivativeInterface,
class LocalFunctionInterface,
class EntitySet,
class B>
50class GridFunctionWrapperImplementation :
51 public DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>
53 using Base = DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>;
57 virtual LocalFunctionInterface wrappedLocalFunction()
const
59 return localFunction(this->
get());
62 virtual const EntitySet& wrappedEntitySet()
const
64 return this->
get().entitySet();
constexpr auto get(std::integer_sequence< T, II... >, std::integral_constant< std::size_t, pos >={})