18 Feb
2011
18 Feb
'11
5:55 p.m.
AMDG On 2/18/2011 9:50 AM, John Reid wrote:
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.
template< typename T > struct A { void register_fns() { &A::subtract; }
T subtract( T x, T y ) { return x - y; } };
void test() { A< int >().register_fns(); // int: Fine A< std::string >().register_fns(); // string: Compile error }
I didn't see anything in Boost.TypeTraits
I believe the type traits extensions in the review queue handle this. In Christ, Steven Watanabe