C++ Logo

sg10

Advanced search

Re: [SG10] [wg14/wg21 liaison] Feature test macro for P0306 (__VA_OPT__)

From: Ville Voutilainen <ville.voutilainen_at_[hidden]>
Date: Thu, 28 Jan 2021 12:15:15 +0200
On Thu, 28 Jan 2021 at 12:13, Jonathan Wakely via SG10
<sg10_at_[hidden]> wrote:
>
>
>
> On Wed, 27 Jan 2021 at 20:54, Barry Revzin via Liaison <liaison_at_[hidden]> wrote:
>>
>> Eric Niebler actually asked this on StackOverflow a few years ago: https://stackoverflow.com/q/48045470/2069064
>>
>> The accepted answer there is:
>>
>> #define PP_THIRD_ARG(a,b,c,...) c
>> #define VA_OPT_SUPPORTED_I(...) PP_THIRD_ARG(__VA_OPT__(,),true,false,)
>> #define VA_OPT_SUPPORTED VA_OPT_SUPPORTED_I(?)
>
>
> Who is going to remember that without having to look it up though?

Is it going to be written so often that that becomes a major problem?

> The #ifdef __VA_OPT__ solution was my first thought, it's unfortunate we forbid it. If we can't have that then I think we do need a feature test macro. The voodoo above will make most developers wish they were using Rust.

If they're using VA_OPT, the cause is already lost.

Received on 2021-01-28 04:15:28