Boost logo

Boost :

Subject: Re: [boost] [variant] Warning: variadic templates in boost::variant
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2013-12-10 23:30:02


AMDG

On 12/10/2013 06:57 PM, Andrey Semashev wrote:
> On Tuesday 10 December 2013 23:13:32 Peter Dimov wrote:
>>>> template< typename T0 = blank, typename... TN >
>>>> class variant;
>>
>> Mapping variant<> to variant<blank> is not a good idea in principle. This
>> has the potential of creating endless loops in generic code that takes
>> variant<T, U...> and recursively calls itself with variant<U...>.
>
> But such code is currently not valid, it should end the recursion at
> variant<T>. This doesn't change after the default is added.
>

So, anyone writing such a loop has
to treat variant<> as a special case.
That doesn't seem like the greatest idea.

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