3#include <amdis/common/Tags.hpp>
4#include <amdis/typetree/NodeTags.hpp>
10 template <
class Node,
class NodeTag>
11 struct FiniteElementTypeImpl
13 using type = tag::unknown;
18 using FiniteElementType =
19 Impl::FiniteElementTypeImpl<Node, AMDiS::NodeTag_t<Node>>;
22 using FiniteElementType_t =
typename FiniteElementType<Node>::type;
28 struct FiniteElementTypeImpl<Node, AMDiS::LeafNodeTag>
30 using type =
typename Node::FiniteElement;
35 struct FiniteElementTypeImpl<Node, AMDiS::PowerNodeTag>
37 using ChildNode =
typename Node::template Child<0>::type;
38 using type = FiniteElementType_t<ChildNode>;
43 struct FiniteElementTypeImpl<Node, AMDiS::CompositeNodeTag>
45 using type = tag::unknown;