00001 #ifndef DUNE_CAPABILITIES_HH 00002 #define DUNE_CAPABILITIES_HH 00003 00008 namespace Dune 00009 { 00010 00012 namespace Capabilities 00013 { 00014 00018 template<class Grid, int codim> 00019 struct hasEntity 00020 { 00021 static const bool v = false; 00022 }; 00023 00027 template<class Grid> 00028 struct isParallel 00029 { 00030 static const bool v = false; 00031 }; 00032 00036 template<class Grid> 00037 struct isLevelwiseConforming 00038 { 00039 static const bool v = false; 00040 }; 00041 00045 template<class Grid> 00046 struct isLeafwiseConforming 00047 { 00048 static const bool v = false; 00049 }; 00050 00055 template<class Grid> 00056 struct hasHangingNodes 00057 { 00058 static const bool v = false; 00059 }; 00060 00064 template<class Grid> 00065 struct hasBackupRestoreFacilities 00066 { 00067 static const bool v = false; 00068 }; 00069 00074 template <class Grid> 00075 struct IsUnstructured { 00076 static const bool v = true; 00077 }; 00078 00089 template <class Grid> 00090 struct threadSafe { 00091 static const bool v = false; 00092 }; 00093 00104 template <class Grid> 00105 struct viewThreadSafe { 00106 static const bool v = false; 00107 }; 00108 00109 /* 00110 forward 00111 Capabilities::Something<const Grid> 00112 to 00113 Capabilities::Something<Grid> 00114 */ 00115 00116 template<class Grid, int codim> 00117 struct hasEntity<const Grid, codim> 00118 { 00119 static const bool v = Dune::Capabilities::hasEntity<Grid,codim>::v; 00120 }; 00121 00122 template<class Grid> 00123 struct isParallel<const Grid> 00124 { 00125 static const bool v = Dune::Capabilities::isParallel<Grid>::v; 00126 }; 00127 00128 template<class Grid> 00129 struct isLevelwiseConforming<const Grid> 00130 { 00131 static const bool v = Dune::Capabilities::isLevelwiseConforming<Grid>::v; 00132 }; 00133 00134 template<class Grid> 00135 struct isLeafwiseConforming<const Grid> 00136 { 00137 static const bool v = Dune::Capabilities::isLeafwiseConforming<Grid>::v; 00138 }; 00139 00140 template<class Grid> 00141 struct hasHangingNodes<const Grid> 00142 { 00143 static const bool v = Dune::Capabilities::hasHangingNodes<Grid>::v; 00144 }; 00145 00146 template<class Grid> 00147 struct hasBackupRestoreFacilities<const Grid> 00148 { 00149 static const bool v = Dune::Capabilities::hasBackupRestoreFacilities<Grid>::v; 00150 }; 00151 00152 template <class Grid> 00153 struct IsUnstructured<const Grid> { 00154 static const bool v = Dune::Capabilities::IsUnstructured<Grid>::v; 00155 }; 00156 00157 template <class Grid> 00158 struct threadSafe<const Grid> { 00159 static const bool v = Dune::Capabilities::threadSafe<Grid>::v; 00160 }; 00161 00162 template <class Grid> 00163 struct viewThreadSafe<const Grid> { 00164 static const bool v = Dune::Capabilities::viewThreadSafe<Grid>::v; 00165 }; 00166 00167 } 00168 00169 } 00170 00171 #endif // DUNE_CAPABILITIES_HH