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 (__interface_method_to_call__); \
00026 call = false; \
00027 }
00028 #endif
00029 #endif
00030 #endif
00031
00037 #ifndef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
00038 #define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
00039 (__interface_method_to_call__)
00040 #ifndef NDEBUG
00041
00042 #ifdef DUNE_DEVEL_MODE
00043 #undef CHECK_AND_CALL_INTERFACE_IMPLEMENTATION
00044 #define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) \
00045 CHECK_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
00046 #endif
00047 #endif
00048 #endif
00049