|
Boost : |
Subject: Re: [boost] [Review] Formal Review: Boost.Move
From: OvermindDL1 (overminddl1_at_[hidden])
Date: 2010-05-10 18:24:28
Greetings Boost Developers and Users,
It's my pleasure to announce that the review of Ion Gaztañagas' Move
library starts today, May 10th and lasts until May 24th, 2010, unless
an extension occurs.
What is it?
===========
The Boost.Move library would supply an emulated C++1x Move semantics
interface, aka RValue References, allowing for a wide variety of easy
to use and easy to add in optimization abilities.
The most used function it would add would be:
val_b = boost::move( val_a );
Which would move val_a to val_b; val_a should not be used after this
line. This semantic allows for a vast amount of optimizations,
especially in regards to temporaries, see the documentation for
further examples and use. boost:move would be used in place of
std:move in all areas.
Other patterns emulated are && rvalue references for functions/members
and constructors. There are also a number of STL containers in the
sandbox that support move semantics using this library for higher
efficiency.
Getting the library
===================
The latest version of this library may be downloaded from
SVN: http://svn.boost.org/svn/boost/sandbox/move/
and the docs may be viewed here
Docs: http://igaztanaga.drivehq.com/libs/move/doc/html/index.html
and do note, this library is header-only and is designed to be
absolutely generic to be useful in all areas of C++ programming.
Complete download: http://igaztanaga.drivehq.com/move_review.zip
Writing a review
================
If you feel this is an interesting library, then please submit your
review to the developer list (preferably), or to the review manager.
Here are some questions you might want to answer in your review:
- What is your evaluation of the design?
- What is your evaluation of the implementation?
- What is your evaluation of the documentation?
- What is your evaluation of the potential usefulness of the library?
- Did you try to use the library? With what compiler? Did you have
any problems?
- How much effort did you put into your evaluation? A glance? A quick
- reading? In-depth study?
- Are you knowledgeable about the problem domain?
And finally, every review should answer this question:
- Do you think the library should be accepted as a Boost library?
Be sure to say this explicitly so that your other comments don't
obscure your overall opinion.
Special considerations
======================
If you want or need a primer on the subject, please look at the
working draft for C++1x. This linked site has also been shown to be
quite useful in describing move usefulness:
Want Speed? Pass by Value.:
http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
Move It With Rvalue References:
http://cpp-next.com/archive/2009/09/move-it-with-rvalue-references/
And there are further links in that series, but those two will get you
started in the domain.
I personally ask if as many people could look into this as possible.
This is an important library that could end up being used in just
about every other Boost sub-library and many places elsewhere, and if
there are any problems, they need to be found out sooner, rather than
later.
Best regards,
OvermindDL1, Review Manager (Boost.Move)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk