Subject: Re: [boost] boost::optional -- updates for C++11 move semantics
From: Chris Glover (c.d.glover_at_[hidden])
Date: 2014-04-10 14:47:31
On Wed, Feb 6, 2013 at 1:26 AM, Antony Polukhin <antoshkka_at_[hidden]> wrote:
> 2013/2/5 Diggory Hardy <lists_at_[hidden]>:
> > Dear list,
> > I wanted something like boost::optional, but with support for move-
> > construction/assignment, so I went ahead and had a go at patching it.
> It is a really good addition for boost::optional library, which I'd love
> to see.
> As I know, current maintainer of Boost.Optional has not much time, so
> may be someone will contact him and give a hand in maintaining
> optional (Diggory, if you are interested, I think you can give it a
> try and may be become a co-maintainer of optional, if Fernando
> Cacciola agrees)
> > Attached is based on boost 1.49 (Ubuntu package). Could someone please
> > I've not contributed to boost before. The changes at least aren't too
> > complicated, but:
> > 1) I'm not entirely sure if the move constructor (line 636) and swap
> > (line 1046) are implemented in the best way (also see line 279),
> > 2) and I have no idea how is_[not_]reference_tag (line 486) works.
> > 3) There should maybe also be a unit test.
> > Of course, I am happy for my contributions to be published under the
> > licence.
> You may see this patch: https://svn.boost.org/trac/boost/ticket/1841
> It proposes same features (and there is an old comment from library
> maintainer that he will take care of it)
> If you wish, you may update this patch (change deprecated #ifdef
> BOOST_HAS_RVALUE_REFS to #ifndef BOOST_NO_RVALUE_REFERENCES), add some
> unit tests, and may be maybe update it to use Boost.Move.
> Best regards,
> Antony Polukhin
This thread is more than a year old, but seems to have died. Does anyone
know what the status of this is? I just ran into this today and it seems
to me that with more move-only types out there, optional needs to support
it. Is there anything I can do to help get it in?