Provides check for implementation of interface methods when using static polymorphism, i.e. Barton-Nackman trick. Use by invoking CHECK_INTERFACE_IMPLEMENTATION(asImp().methodToCheck()) and for template methods double ( CHECK_INTERFACE_IMPLEMENTATION((asImp().template methodToCheck<param> ())). More...
Go to the source code of this file.
Defines | |
#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. Barton-Nackman trick. Use by invoking CHECK_INTERFACE_IMPLEMENTATION(asImp().methodToCheck()) and for template methods double ( CHECK_INTERFACE_IMPLEMENTATION((asImp().template methodToCheck<param> ())).
#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 | ) |