$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Peter Dimov (pdimov_at_[hidden])
Date: 2003-11-15 10:45:25
David Abrahams wrote:
> "Peter Dimov" <pdimov_at_[hidden]> writes:
>
>>>> Or variant_from_sequence<mpl-seq>::type?
>>>
>>> OK, sure.
>>
>> I take it back. The only correct interface is variant<mpl-seq>,
>> without the variable-length enhancement.
>
> I'm confused about what you mean. Isn't that the one we already have?
We have
variant<T1, T2, ..., Tn>
and
variant<mpl-seq>
There are two problems with it. First, there is a collision when n == 1.
Second, if I write
template<class Seq> void f( variant<Seq> const & v );
my function will not match all variants. I think that the correct but
painful thing to do is to just drop the convenience T1..Tn form.