bartonnackmanifcheck.hh
Go to the documentation of this file.00001
00010
00011 #include <dune/common/exceptions.hh>
00012
00013 #ifndef CHECK_INTERFACE_IMPLEMENTATION
00014 #define CHECK_INTERFACE_IMPLEMENTATION(dummy)
00015 #ifndef NDEBUG
00016
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
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