
On 03/08/2011 12:53, John Maddock wrote:
Documentation from the library may be viewed online here: file:///M:/data/boost/sandbox/move/libs/container/doc/html/index.html
You probably meant <http://svn.boost.org/svn/boost/sandbox/move/libs/container/doc/html/index.html>
Review comments might like to answer the following questions:
* What is your evaluation of the design?
It's the same as the STL, with some very welcome enhancements from C++0x, all of which also work with a C++03 compiler.
* What is your evaluation of the implementation?
It's based on SGI STL code and Boost.Intrusive, both being very good. The move emulation seems a bit fragile, but Boost.Move was accepted, so I guess that is ok. I really like the fact that it avoids reinventing the wheel and reuses other libraries / implementations.
* What is your evaluation of the documentation?
Pretty good, I wonder if it couldn't become my new STL reference documentation.
* What is your evaluation of the potential usefulness of the library?
Move-enabled STL containers are extremely important. Whether it's useful to have them in Boost or not is of some debate, some might say it's better to rely on your standard library. I think it might be good for the people not quite ready to hop onto the C++0x bandwagon yet. Plus sometimes it's good to be able to rely on a single portable reference implementation that actually works with stateful allocators etc., while it is implementation-defined whether the standard one does.
* Did you try to use the library? With what compiler? Did you have any problems?
I ran the tests against trunk with GCC on linux without problems. I did not, however, try to use the library.
* How much effort did you put into your evaluation? A glance? A quick reading? In-depth study?
A quick reading of the documentation and implementation.
* Are you knowledgeable about the problem domain?
I've been using the containers of the standard library extensively for a very long time, and I have followed a bit the C++0x developments.
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.
Yes. Those containers already exist as part of Boost.Interprocess, and I don't see any problem with them being promoted to their own library.