5 #include <dune/common/typeutilities.hh> 7 #include <amdis/common/Concepts.hpp> 8 #include <amdis/common/Logical.hpp> 9 #include <amdis/common/Order.hpp> 10 #include <amdis/gridfunctions/Derivative.hpp> 15 template <
class Gr
idFunction>
17 -> decltype(gf.makeLocalFunction())
19 return gf.makeLocalFunction();
43 auto require(F&& f) -> decltype(
51 auto require(GF
const& ) -> std::void_t<
54 typename GF::EntitySet
66 using HasLocalFunction_t = models_t<Definition::HasLocalFunction(GF)>;
73 HasLocalFunction<GF> && models<Definition::HasGridFunctionTypes(GF)>;
81 template <
class... GFs>
83 (GridFunction<remove_cvref_t<GFs>> ||...) ||
86 template <
class... GFs>
87 using AnyGridFunction_t =
bool_t<AnyGridFunction<GFs...>>;
95 template <
class PreGr
idFct,
class =
void>
97 : PreGridFct::Creator {};
102 template <
class Gr
idFct,
class Gr
idView>
103 GridFct const& makeGridFunctionImpl(
GridFct const& gridFct, GridView
const& , std::true_type)
109 template <
class PreGridFct,
class GridView,
111 decltype(
auto) makeGridFunctionImpl(PreGridFct
const& preGridFct, GridView
const& gridView, std::false_type)
113 return Creator::create(preGridFct, gridView);
153 template <
class PreGr
idFct,
class Gr
idView>
156 using isGridFct = Concepts::GridFunction_t<PreGridFct>;
157 return Impl::makeGridFunctionImpl(preGridFct, gridView, isGridFct{});
constexpr bool GridFunction
GridFunction GF is a Type that has LocalFunction and provides some typedefs for Domain, Range, and EntitySet.
Definition: GridFunction.hpp:72
Definition: GridFunction.hpp:26
constexpr bool AnyGridFunction
Concept is fulfilled, if at least one of the massed Expressions can be converted to a GridFunction...
Definition: GridFunction.hpp:82
Definition: GridFunction.hpp:96
decltype(auto) makeGridFunction(PreGridFct const &preGridFct, GridView const &gridView)
Generator for Gridfunctions from Expressions (PreGridfunctions)
Definition: GridFunction.hpp:154
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
Definition: GridFunction.hpp:40
constexpr bool HasLocalFunction
GridFunction GF has free function localFunction(GF)
Definition: GridFunction.hpp:63
Definition: GridFunction.hpp:48
std::integral_constant< bool, B > bool_t
A wrapper for bool types.
Definition: Logical.hpp:12