3#include <dune/typetree/nodetags.hh>
5#include <amdis/common/Tags.hpp>
11 template <
class Node,
class NodeTag>
12 struct FiniteElementTypeImpl
14 using type = tag::unknown;
19 using FiniteElementType =
20 Impl::FiniteElementTypeImpl<Node, typename Node::NodeTag>;
23 using FiniteElementType_t =
typename FiniteElementType<Node>::type;
29 struct FiniteElementTypeImpl<Node, Dune::TypeTree::LeafNodeTag>
31 using type =
typename Node::FiniteElement;
36 struct FiniteElementTypeImpl<Node, Dune::TypeTree::PowerNodeTag>
38 using ChildNode =
typename Node::template Child<0>::type;
39 using type = FiniteElementType_t<ChildNode>;
44 struct FiniteElementTypeImpl<Node, Dune::TypeTree::CompositeNodeTag>
46 using type = tag::unknown;