4#ifndef DUNE_PDELAB_COMMON_TYPETRAITS_HH
5#define DUNE_PDELAB_COMMON_TYPETRAITS_HH
8#include <dune/typetree/typetraits.hh>
14 using TypeTree::AlwaysVoid;
17 struct GridFunctionTag;
18 struct PowerGridFunctionTag;
19 struct CompositeGridFunctionTag;
25 template<
typename T,
typename =
void>
28 static const bool value =
false;
32 struct IsGridFunction<T, typename AlwaysVoid<TypeTree::
ImplementationTag<T>>::type >
34 using A = TypeTree::ImplementationTag<T>;
35 static const bool value = std::is_same<A, GridFunctionTag>::value ||
36 std::is_same<A, PowerGridFunctionTag>::value ||
37 std::is_same<A, CompositeGridFunctionTag>::value;
45 using IsGridFunction = std::integral_constant<bool,impl::IsGridFunction<std::decay_t<T>>::value>;
Traits for type conversions and type information.
typename std::decay_t< T >::ImplementationTag ImplementationTag
Returns the implementation tag of the given Node.
Definition: nodeinterface.hh:66
Dune namespace.
Definition: alignedallocator.hh:14