bartonnackmanifcheck.hh

Go to the documentation of this file.
00001 
00010 //- Dune includes 
00011 #include <dune/common/exceptions.hh>
00012 
00013 #ifndef CHECK_INTERFACE_IMPLEMENTATION  
00014 #define CHECK_INTERFACE_IMPLEMENTATION(dummy) 
00015 #ifndef NDEBUG 
00016 // only do checking if DUNE_DEVEL_MODE is defined aswell 
00017 #ifdef DUNE_DEVEL_MODE
00018 #undef CHECK_INTERFACE_IMPLEMENTATION
00019 #define CHECK_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
00020   {\
00021     static bool call = false; \
00022     if( call == true ) \
00023       DUNE_THROW(NotImplemented,"Interface method not implemented!");\
00024     call = true; \
00025     try { \
00026       (__interface_method_to_call__); \
00027       call = false; \
00028     } \
00029     catch ( ... ) \
00030     { \
00031       call = false; \
00032       throw; \
00033     } \
00034   }
00035 #endif
00036 #endif
00037 #endif
00038 
00044 #ifndef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION 
00045 #define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
00046   (__interface_method_to_call__)
00047 #ifndef NDEBUG 
00048 // only do checking if DUNE_DEVEL_MODE is defined aswell 
00049 #ifdef DUNE_DEVEL_MODE
00050 #undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
00051 #define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
00052   CHECK_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
00053 #endif
00054 #endif
00055 #endif
00056 
Generated on Mon Apr 26 10:45:21 2010 for dune-common by  doxygen 1.6.3