$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] Determine at compile time whether type has subtraction semantics?
From: Frédéric Bron (frederic.bron_at_[hidden])
Date: 2011-02-19 01:51:52
> 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.
Frédéric