dune-common
2.4
|
Provides check for implementation of interface methods when using static polymorphism, i.e. the Barton-Nackman trick. This is purely for debugging purposes. To check the correct implementation of interface methods (and pick up possible infinite loops) NDEBUG must be undefined and DUNE_INTERFACECHECK has to be defined. More...
#include <dune/common/exceptions.hh>
Go to the source code of this file.
Macros | |
#define | CHECK_INTERFACE_IMPLEMENTATION(dummy) |
#define | CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__) (__interface_method_to_call__) |
Provides check for implementation of interface methods when using static polymorphism, i.e. the Barton-Nackman trick. This is purely for debugging purposes. To check the correct implementation of interface methods (and pick up possible infinite loops) NDEBUG must be undefined and DUNE_INTERFACECHECK has to be defined.
Note: adding the interface check to a method will cause the implementation of the method to be called twice, so before use make sure that this will not cause problems e.g. if internal counters are updated.
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION | ( | __interface_method_to_call__ | ) | (__interface_method_to_call__) |
The macro CHECK_AND_CALL_INTERFACE_IMPLEMENTATION throws an exception, if the interface method ist not implemented and just calls the method otherwise. If NDEBUG is defined no checking is done and the method is just called.
#define CHECK_INTERFACE_IMPLEMENTATION | ( | dummy | ) |