$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] variant2 never empty guarantees (was: Re: Outcome/expected/etc/etc/etc)
From: Peter Dimov (lists_at_[hidden])
Date: 2017-06-14 17:10:56
Andrzej Krzemienski wrote:
> Now I realize this all means the types inside variant need to be movable.
> This will not be a problem in most of the cases, but does it mean I cannot
> use variant2 with non-movable types?
You can, it will double-buffer to keep emplace strong. Or you can use
valueless.
All types nothrow move constructible -> single buffer;
Otherwise, first alternative is valueless -> single buffer;
Otherwise -> double buffer.