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