common/capabilities.hh

Go to the documentation of this file.
00001 #ifndef DUNE_CAPABILITIES_HH
00002 #define DUNE_CAPABILITIES_HH
00003 
00008 namespace Dune
00009 {
00010 
00012 namespace Capabilities
00013 {
00014 
00021 template<class Grid>
00022 struct hasSingleGeometryType
00023 {
00024   static const bool v = false;
00025   // this value will be initialized with something big 
00026   // since it is invalid 
00027   static const unsigned int topologyId = ~0u;
00028 };
00029 
00042 template<class Grid>
00043 struct isCartesian
00044 {
00045   // default value is false 
00046   static const bool v = false;
00047 };
00048 
00052 template<class Grid, int codim>
00053 struct hasEntity
00054 {
00055   static const bool v = false;
00056 };
00057 
00061 template<class Grid>
00062 struct isParallel
00063 {
00064   static const bool v = false;
00065 };
00066 
00074 template< class Grid, int codim >
00075 struct canCommunicate
00076 {
00077   static const bool v = false;
00078 };
00079 
00083 template<class Grid>
00084 struct isLevelwiseConforming
00085 {
00086   static const bool v = false;
00087 };
00088 
00092 template<class Grid>
00093 struct isLeafwiseConforming
00094 {
00095   static const bool v = false;
00096 };
00097 
00101 template<class Grid>
00102 struct hasBackupRestoreFacilities
00103 {
00104   static const bool v = false;
00105 };
00106 
00117 template <class Grid>
00118 struct threadSafe {
00119     static const bool v = false;
00120 };
00121   
00132 template <class Grid>
00133 struct viewThreadSafe {
00134     static const bool v = false;
00135 };
00136   
00137 /*
00138   forward
00139   Capabilities::Something<const Grid>
00140   to
00141   Capabilities::Something<Grid>
00142 */
00143 
00144 template<class Grid>
00145 struct hasSingleGeometryType< const Grid >
00146 {
00147   static const bool v = Dune::Capabilities::hasSingleGeometryType<Grid>::v;
00148   static const unsigned int topologyId =
00149     Dune::Capabilities::hasSingleGeometryType<Grid>::topologyId;
00150 };
00151 
00152 template<class Grid>
00153 struct isCartesian< const Grid >
00154 {
00155   static const bool v = Dune::Capabilities::isCartesian<Grid>::v;
00156 };
00157 
00158 template<class Grid, int codim>
00159 struct hasEntity<const Grid, codim>
00160 {
00161   static const bool v = Dune::Capabilities::hasEntity<Grid,codim>::v;
00162 };
00163 
00164 template<class Grid>
00165 struct isParallel<const Grid>
00166 {
00167   static const bool v = Dune::Capabilities::isParallel<Grid>::v;
00168 };
00169 
00170 template< class Grid, int codim >
00171 struct canCommunicate< const Grid, codim >
00172 {
00173   static const bool v = Dune::Capabilities::canCommunicate< Grid, codim >::v;
00174 };
00175 
00176 template<class Grid>
00177 struct isLevelwiseConforming<const Grid>
00178 {
00179   static const bool v = Dune::Capabilities::isLevelwiseConforming<Grid>::v;
00180 };
00181 
00182 template<class Grid>
00183 struct isLeafwiseConforming<const Grid>
00184 {
00185   static const bool v = Dune::Capabilities::isLeafwiseConforming<Grid>::v;
00186 };
00187 
00188 template<class Grid>
00189 struct hasBackupRestoreFacilities<const Grid> 
00190 {
00191   static const bool v = Dune::Capabilities::hasBackupRestoreFacilities<Grid>::v;
00192 };
00193 
00194 template <class Grid>
00195 struct threadSafe<const Grid> {
00196   static const bool v = Dune::Capabilities::threadSafe<Grid>::v;
00197 };
00198   
00199 template <class Grid>
00200 struct viewThreadSafe<const Grid> {
00201   static const bool v = Dune::Capabilities::viewThreadSafe<Grid>::v;
00202 };
00203   
00204 }
00205 
00206 }
00207 
00208 #endif // DUNE_CAPABILITIES_HH

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].