Boost logo

Boost :

Subject: Re: [boost] [variant2] Review of Variant2 started today : April 1 - April 10
From: Peter Dimov (pdimov_at_[hidden])
Date: 2019-04-02 13:43:06


> Andrey Semashev wrote:
> > Also, IMHO, it's better to have libraries more focused and fine grained.
> > Why not have `expected` as a separate library?
>
> expected<T, E...> is basically a variant, with a slightly different
> interface.

To expand on that a bit... to implement expected<T, E...> you need an
underlying variant. You can either implement your own ad-hoc one, which is a
duplication of work; or you could use an existing variant, but then you
inherit its properties and have to reflect those in the specification of
`expected`. For instance, if the variant can be valueless, you need to
figure out what to do in `expected` when it gets into that state.

For those reasons, it makes most sense to develop `variant` and `expected`
in parallel, as parts of the same library.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk