AMDiS 2.11-git
The Adaptive Multi-Dimensional Simulation Toolbox
 
Loading...
Searching...
No Matches
NodeTags.hpp
1#pragma once
2
3#include <type_traits>
4
5#include <dune/common/typetree/nodeconcepts.hh>
6
7namespace AMDiS
8{
9 struct LeafNodeTag {};
11 struct PowerNodeTag {};
13
14 template <class Node>
15 struct NodeTag;
16
17 template <class Node>
18 using NodeTag_t = typename NodeTag<Node>::type;
19
20 template <class N>
21 requires Dune::TypeTree::Concept::TreeNode<N>
22 struct NodeTag<N>
23 {
24 using type = std::conditional_t<Dune::TypeTree::Concept::LeafTreeNode<N>,
26 std::conditional_t<Dune::TypeTree::Concept::UniformInnerTreeNode<N>,
27 std::conditional_t<Dune::TypeTree::Concept::StaticDegreeInnerTreeNode<N>,
30 >,
32 >
33 >;
34 };
35
36
37} // end namespace AMDiS
Definition NodeTags.hpp:12
Definition NodeTags.hpp:10
Definition NodeTags.hpp:9
Definition NodeTags.hpp:15
Definition NodeTags.hpp:11