$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Persson Jonas (jonas.persson_at_[hidden])
Date: 2003-11-03 12:12:01
> -----Original Message-----
> From: Eric Friedman [mailto:ebf_at_[hidden]]
> Sent: den 31 oktober 2003 22:31
> To: boost_at_[hidden]
> Subject: [boost] Re: Variant size bug?
...
> Well, technically it's not a bug: variant<> *is*
> variant<boost::empty>.
>
> I agree this may be unexpected, and so should probably be noted more
> explicitly in the docs.
>
> Also, we _can_ argue whether this unexpectedness constitutes a bug in
> variant's design. (It's certainly not an *implementation* bug though.)
And to add even more unexpectedness:
typedef boost::variant<> Var0;
int s0 = boost::mpl::size<Var0::types>::type::value;
gives s0=1, but
typedef boost::mpl::vector<> V0;
typedef boost::variant<V0> Var0;
int s0 = boost::mpl::size<Var0::types>::type::value;
gives s0=0 !
So apparently mpl compatibility depends on if the user declares
the variant with a typelist or gives it the types directly.
/ Jonas