Boost logo

Boost :

Subject: Re: [boost] Another variant type (was: [peer review queue tardiness] [was Cleaning out the Boost review queue] Review Queue mem
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2015-04-04 18:49:04


AMDG

On 04/04/2015 04:33 PM, Larry Evans wrote:
> On 04/04/2015 05:08 PM, Matt Calabrese wrote:
>> On Sat, Apr 4, 2015 at 3:06 PM, Matt Calabrese <rivorus_at_[hidden]> wrote:
>>
>>> You need to use a recursive union if you are to get some constexpr support.
>>>
>>
>> Well, let me rephrase, you can expand it out by preprocessor to a certain
>> limit and get that too, but you can't just use aligned storage. At some
>> point you need to hit a recursive case.
>>
> Could you please elaborate on why recursion cannot be avoided?
>

Variadic parameter packs can't be expanded on
class (or in this case union) members.

template<class... T>
union variant_storage {
    T t;... // illegal
};

In Christ,
Steven Watanabe


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