Boost logo

Boost :

Subject: Re: [boost] boost::optional -- updates for C++11 move semantics
From: Antony Polukhin (antoshkka_at_[hidden])
Date: 2013-02-06 01:26:01


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 review?
> 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 function
> (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 boost
> 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

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