Boost logo

Boost :

Subject: Re: [boost] [variant] Maintainer
From: Agustín K-ballo Bergé (kaballo86_at_[hidden])
Date: 2015-06-27 15:32:41


On 6/27/2015 12:38 PM, Vicente J. Botet Escriba wrote:
> I would accept Eggs.Variant without even a review (or with a minimal
> review) as an experimental library as part of Boost.Variant after some
> minimal adaptation to fit in Boost of course.

Vicente, while this is really flattering, I feel compelled to clarify a
few things.

First of, as I have already said before, Eggs.Variant is an experiment.
As such it is highly unstable, and I reserve the right to change things
in any way I see fit, with no regards for backwards compatibility,
maintenance, or support. I have made these kinds of changes in the past,
and I have more planned for the near future. I think it would be unwise
to make it a part of Boost, even as an experimental library, until the
design has fully hatched ("Eggs", get it?).

Second, Eggs.Variant is not tracking the standard proposal, which it
predates, nor it looks like it's going to converge with it. For
instance, the visible empty state is not going anywhere. As a
fundamental building block, I cannot afford to pay the cost of double
buffering, heap allocation, restrictions to nothrow-move-constructible
alternative types, etc. The abstractions I built on top of it might,
since they are the ones who attach meaning to the variant, but it is up
to them to make those choices. Likewise, I'm not considering
implementing support for void and reference types as alternatives.

To sum it up, Eggs.Variant is its own thing, but it is way too young for
me to know what that thing is yet.

Regards,

-- 
Agustín K-ballo Bergé.-
http://talesofcpp.fusionfenix.com

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