Define AUX_DUMMY_ARGUMENT

Define Documentation

AUX_DUMMY_ARGUMENT

If two templates only differ in the default-values of their template-arguments C++ considers this to be a compilation-error. A simple way to prevent this is to add further defaulted template-arguments, which is what this macro provides in a semantic way.

Example:

template<typename T, AUX_REQUIRE(isInteger, […])> void fun(T) {…}

template<typename T, AUX_REQUIRE(isFloat, […]), AUX_DUMMY_ARGUMENT> void fun(T) {…}

Note however that it may often be a cleaner solution to use compile-time dispatching instead of hacks that envolve enable-if.