|
Boost : |
Subject: Re: [boost] [config] What Feature is this??
From: Andrey Semashev (andrey.semashev_at_[hidden])
Date: 2017-07-24 12:29:32
On 07/24/17 14:37, Edward Diener via Boost wrote:
> On 7/23/2017 2:50 PM, John Maddock via Boost wrote:
>> Folks, I think I'm looking to add a new C++11 defect macro, but don't
>> know what the feature is called, nor can I see a way of detecting it
>> with clang's __has_feature function.
>>
>> The code I want to enable involves function overloading based on a
>> decltype return type as in:
>
> I never realized that function overloading could occur based on any
> return type. I always thought it had to be based on the parameter types.
> Is this part of the C+11 standard ? Where in the standard is this
> specified ?
I think it's not about overloading but about disabling function template
instantiations via SFINAE.
>> auto integrate(args...) -> decltype(expression1);
>>
>> auto integrate(args...) -> decltype(expression2);
>>
>>
>> where expression1 and expression2 are two mutually exclusive options
>> (the conceptual requirements of args means that only one of these 2
>> will ever be satisfied).
>>
>> This works fine in msvc-14 and later and gcc-4.8 and later, but I
>> don't see any current config macros which cover this case, nor can I
>> figure out what this trick should be called.
>>
>> Alternatively, if anyone has a better way of differentiating between
>> unary and binary functions I'm happy to hear about it ;)
>>
>>
>> Thanks, John.
>>
>>
>> ---
>> This email has been checked for viruses by AVG.
>> http://www.avg.com
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk