Boost logo

Boost :

Subject: Re: [boost] request: BOOST_NO_SFINAE_EXPR macro
From: Simonson, Lucanus J (lucanus.j.simonson_at_[hidden])
Date: 2009-07-31 11:52:26


Beman Dawes wrote:
> On Thu, Jul 30, 2009 at 10:20 AM, Mathias
> Gaunard<mathias.gaunard_at_[hidden]> wrote:
>> It would be very nice if Boost.Config provided the
>> BOOST_NO_SFINAE_EXPR macro, that would be defined if the compiler
>> does not support SFINAE applied to expressions.
>> http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2634.html
>>
>> GCC supports this feature since 4.4 both for C++03 and C++0x for
>> example.
>
> Yes, such a macro is needed

So we could do this instead of use mpl and?

template <typename T1, typename T2>
enable_if_c<is_a_A<T1>::value && is_a_B<T2>::value>::type foo();

> Also, it turns out that the ability to provide a default template
> parameter for function templates markedly clarifies code using
> enable_if. (I learned this Howard Hinnant, but I think he may have
> gotten the idea from Peter Dimov.)
 
This sounds interesting. Can you explain how?

Thanks,
Luke


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk