AMDiS 2.10
The Adaptive Multi-Dimensional Simulation Toolbox
AttributeSet.hpp
1#pragma once
2
3#include <string>
4
5namespace Dune
6{
7 // forward declarations
8 template <class A>
9 class ParallelLocalIndex;
10
11 template <class TG, class TL, int N>
12 class ParallelIndexSet;
13}
14
15namespace AMDiS
16{
18 {
19 enum Type {
20 unknown = 0,
21 owner = 1, //< DOF is owned by current processor
22 overlap = 2, //< DOF is shared with another processor who is owner of that DOF
23 copy = 3 //< DOF is on front or ghost entity
24 };
25 };
26
27
30 template <class C>
32 {
33 using type = DefaultAttributeSet::Type;
34 };
35
36 // specialization for a Dune::ParallelLocalIndex
37 template <class A>
38 struct AttributeSet<Dune::ParallelLocalIndex<A>>
39 {
40 using type = A;
41 };
42
43 // specialization for a Dune::ParallelIndexSet
44 template <class TG, class TL, int N>
45 struct AttributeSet<Dune::ParallelIndexSet<TG,TL,N>>
46 {
47 using type = typename AttributeSet<TL>::type;
48 };
49
50} // end namespace AMDiS
Definition: AttributeSet.hpp:32
Definition: AttributeSet.hpp:18