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 >
18     class IdGridPart;
19 
20 
21 
22     namespace GridPartCapabilities
23     {
24 
25       template< class HostGridPartType >
26       struct hasGrid< IdGridPart< HostGridPartType > >
27       {
28         static const bool v = true;
29       };
30 
31 
32       template< class HostGridPartType >
33       struct hasSingleGeometryType< IdGridPart< HostGridPartType > >
34       {
35         static const bool v = hasSingleGeometryType< HostGridPartType >::v;
36         static const unsigned int topologyId = hasSingleGeometryType< HostGridPartType >::topologyId;
37       };
38 
39 
40       template< class HostGridPartType >
41       struct isCartesian< IdGridPart< HostGridPartType > >
42       {
43         static const bool v = isCartesian< HostGridPartType >::v;
44       };
45 
46 
47       template< class HostGridPartType, int codim  >
48       struct hasEntity< IdGridPart< HostGridPartType >, codim >
49       {
50         static const bool v = hasEntity< HostGridPartType, codim >::v;
51       };
52 
53 
54       template< class HostGridPartType, int codim >
55       struct canCommunicate< IdGridPart< HostGridPartType >, codim >
56       {
57         static const bool v = canCommunicate< HostGridPartType, codim >::v;
58       };
59 
60 
61       template< class HostGridPartType >
62       struct isConforming< IdGridPart< HostGridPartType > >
63       {
64         static const bool v = isConforming< HostGridPartType >::v;
65       };
66 
67     } // namespace GridPartCapabilities
68 
69   } // namespace Fem
70 
71 } // namespace Dune
72 
73 #endif // #ifndef DUNE_FEM_GRIDPART_IDGRIDPART_CAPABILITIES_HH
74