5#include <dune/functions/common/functionconcepts.hh>
6#include <dune/functions/functionspacebases/concepts.hh>
8#include <amdis/common/ConceptsBase.hpp>
9#include <amdis/common/Logical.hpp>
10#include <amdis/common/TypeTraits.hpp>
22 template <
class A,
class B>
24 : std::is_same<remove_cvref_t<A>, remove_cvref_t<B>> {};
26 template <
class A,
class B>
33 template <
class A0,
class... As,
class B0,
class... Bs>
35 :
and_t<IsSimilar<A0, B0>::value, IsSimilar<Types<As...>, Types<Bs...>>::value> {};
38 template <
class... Ts>
41 template <
class T0,
class... Ts>
43 : std::is_same<Types<T0,Ts...>, Types<Ts...,T0>> {};
68 template <
class F,
class... Args>
69 auto require(F&& f, Args&&... args) ->
decltype(
78 auto require(MI&& idx) ->
decltype(
87 template <
class PBF,
class GV>
88 auto require(PBF
const& pbf, GV
const& gridView) ->
decltype(
98 template <
class... Ts>
101 template <
class... Ts>
106 template <
class A,
class B>
109 template <
class A,
class B>
119 template <
class F,
class... Args>
122 template <
class F,
class... Args>
132 template <
class F,
class Signature>
133 constexpr bool Functor = Dune::Functions::Concept::isFunction<F, Signature>();
135 template <
class F,
class Signature>
136 using Functor_t = bool_t<Functor<F,Signature>>;
140 template <
class F,
class... Args>
143 template <
class F,
class... Args>
144 using Predicate_t = Functor_t<F, bool(Args...)>;
156 template <
class Range,
class Index>
159 template <
class Range,
class Index>
172 template <
class Tree,
class GV>
173 constexpr bool BasisTree = models<Dune::Functions::Concept::BasisTree<GV>(Tree)>;
175 template <
class Tree,
class GV>
176 using BasisTree_t = models_t<Dune::Functions::Concept::BasisTree<GV>(Tree)>;
180 template <
class LV,
class GB =
typename LV::GlobalBasis>
181 constexpr bool LocalView = models<Dune::Functions::Concept::LocalView<GB>(LV)>;
183 template <
class LV,
class GB =
typename LV::GlobalBasis>
184 using LocalView_t = models_t<Dune::Functions::Concept::LocalView<GB>(LV)>;
188 template <
class GB,
class GV =
typename GB::Gr
idView>
189 constexpr bool GlobalBasis = models<Dune::Functions::Concept::GlobalBasis<GV>(GB)>;
191 template <
class GB,
class GV =
typename GB::Gr
idView>
192 using GlobalBasis_t = models_t<Dune::Functions::Concept::GlobalBasis<GV>(GB)>;
194 template <
class PBF,
class GV>
197 template <
class PBF,
class GV>
Global basis defined on a pre-basis.
Definition: GlobalBasis.hpp:48
The restriction of a finite element basis to a single element.
Definition: LocalView.hpp:16
constexpr bool MultiIndex
A multi-index type.
Definition: Concepts.hpp:149
constexpr bool Similar
Types are the same, up to decay of qualifiers.
Definition: Concepts.hpp:107
constexpr bool Predicate
A predicate is a function that returns a boolean.
Definition: Concepts.hpp:141
constexpr bool Same
Types are the same.
Definition: Concepts.hpp:99
constexpr bool BasisTree
A Dune::Functions::BasisTree type.
Definition: Concepts.hpp:173
constexpr bool BasisNode
A Dune::Functions::BasisNode type.
Definition: Concepts.hpp:165
constexpr bool Functor
A Functor is a function F with signature Signature.
Definition: Concepts.hpp:133
constexpr bool Callable
A Collable is a function F that can be called with arguments of type Args....
Definition: Concepts.hpp:120
constexpr bool HasIndexAccess
A Dune::Functions::HasIndexAccess type.
Definition: Concepts.hpp:157
Definition: Concepts.hpp:67
Definition: Concepts.hpp:76
Definition: Concepts.hpp:86
Definition: Concepts.hpp:51
Definition: Concepts.hpp:39
Definition: Concepts.hpp:24
A variadic type list.
Definition: TypeTraits.hpp:146