$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Variant2 review
From: Peter Dimov (pdimov_at_[hidden])
Date: 2019-04-08 17:53:46
Andrzej Krzemienski wrote:
> Such thing could be achieved if the behavior of variant's assignment and
> emplacement was controlled by a type trait. The default implementation for
> unfriendly types would be compile-time error; but users would be able to
> specialize it for their instantiations of variant in order to assign
> different semantics: double buffering, or setting the
> valueless_by_exception state.
This can't work in general. If you have
template<class... T> class lib1::X
{
private:
variant<T...> state_;
};
and
template<class... T> class lib2::Y
{
private:
variant<T...> state_;
};
it's not possible for lib1 and lib2 to choose their preferred variant
behaviors independently of one another.