3#ifndef DUNE_FUNCTIONS_GRIDFUNCTIONS_GRID_FUNCTION_IMP_HH
4#define DUNE_FUNCTIONS_GRIDFUNCTIONS_GRID_FUNCTION_IMP_HH
6#include <dune/functions/common/type_traits.hh>
7#include <dune/functions/common/interfaces.hh>
8#include <dune/functions/common/differentiablefunction_imp.hh>
19struct HasFreeLocalFunction
22 auto require(F&& f) ->
decltype(
33template<
class Signature,
class DerivativeInterface,
class LocalFunctionInterface,
class EntitySet>
34class GridFunctionWrapperInterface :
35 public DifferentiableFunctionWrapperInterface<Signature, DerivativeInterface>
38 virtual LocalFunctionInterface wrappedLocalFunction()
const = 0;
40 virtual const EntitySet& wrappedEntitySet()
const = 0;
45template<
class Signature,
class DerivativeInterface,
class LocalFunctionInterface,
class EntitySet,
class B>
46class GridFunctionWrapperImplementation :
47 public DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>
49 using Base = DifferentiableFunctionWrapperImplementation<Signature, DerivativeInterface, B>;
53 virtual LocalFunctionInterface wrappedLocalFunction()
const
55 return localFunction(this->get());
58 virtual const EntitySet& wrappedEntitySet()
const
60 return this->get().entitySet();
Dune namespace.
Definition: alignedallocator.hh:13