DUNE-FEM (unstable)

capabilities.hh
1 #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
2 #define DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
3 
4 #include <dune/geometry/type.hh>
5 
6 #include <dune/fem/gridpart/common/capabilities.hh>
7 
8 namespace Dune
9 {
10 
11  namespace Fem
12  {
13 
14  // Forward declaration
15  // -------------------
16 
17  template< class, class, bool >
18  class FilteredGridPart;
19 
20 
21 
22  namespace GridPartCapabilities
23  {
24 
25  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
26  struct hasGrid< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
27  {
28  static const bool v = hasGrid< HostGridPartImp >::v;
29  };
30 
31 
32  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
33  struct hasSingleGeometryType< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
34  {
35  static const bool v = hasSingleGeometryType< HostGridPartImp >::v;
36  static const unsigned int topologyId = hasSingleGeometryType< HostGridPartImp >::topologyId;
37  };
38 
39 
40  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
41  struct isCartesian< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
42  {
43  static const bool v = isCartesian< HostGridPartImp >::v;
44  };
45 
46 
47  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
48  struct hasEntity< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
49  {
50  static const bool v = hasEntity< HostGridPartImp, codim >::v;
51  };
52 
53 
54  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet, int codim >
55  struct canCommunicate< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet >, codim >
56  {
57  static const bool v = canCommunicate< HostGridPartImp, codim >::v;
58  };
59 
60 
61  template< class HostGridPartImp, class FilterImp, bool useFilteredIndexSet >
62  struct isConforming< FilteredGridPart< HostGridPartImp, FilterImp, useFilteredIndexSet > >
63  {
64  static const bool v = isConforming< HostGridPartImp >::v;
65  };
66 
67  } // namespace GridPartCapabilities
68 
69  } // namespace Fem
70 
71 } // namespace Dune
72 
73 #endif // #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
Dune namespace.
Definition: alignedallocator.hh:13
A unique label for each type of element that can occur in a grid.
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 16, 22:29, 2024)