
18 Feb
2011
18 Feb
'11
11:51 p.m.
Is it possible to determine at compile-time if a type has subtraction semantics? E.g. in struct A<T> I would like to decide at compile-time not to execute &A::subtract in the register_fns method. Then the subtract method is not instantiated and there is no error.
You can look at the code that will be reviewed soon for an extension of type traits. #include <boost/type_traits/has_operator_minus.hpp> boost::has_operator_minus<T, T, T>::value is what you want: is true if x-y returns something convertible to T is false if operator-(T, T) does not exist. http://www.boostpro.com/vault/index.php?action=downloadfile&filename=type_tr... Frédéric