$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Douglas Gregor (gregod_at_[hidden])
Date: 2002-11-09 20:07:08
On Saturday 09 November 2002 07:21 pm, Aleksey Gurtovoy wrote:
[snip some code...]
> template< typename T > yes_tag is_callable_helper(
> sink< sizeof(&T::operator()) >*
> );
[snip more code...]
Won't work if there are multiple overloads of operator() or if it is a
function template, unfortunately :(
> But of course none of the compilers are particularly happy about it. How
> about adding 'is_callable<>' to the type_traits proposal and requesting a
> compiler support for it?
We could, but I have a hunch that we wouldn't get it. The is_callable trait
takes a lot of specification and only handles very specific cases. If we're
going to ask for something like is_callable, we're better off asking for
something that handles more cases (i.e., "is this expression valid?" or "can
I instantiate this class template?").
Doug