From: Powell, Gary (powellg_at_[hidden])
Date: 2003-09-29 15:16:42
I've been looking at the code a bit, and I have a couple of comments.
*) The initial size of the vector should be compile time/or runtime configurable. a reserve(100) seems too arbitrary for general use.
*) I think the details of this class belong in their own sub namespace. i.e. boost::shifted_ptr::details and not in just boost::details.
For what is quite readable source code the documentation is absolutely horrible.
I have not compiled/ or used this code merely read it. I'd vote to hold acceptance until the documentation is fixed. Like 90% of the Doxygen stuff tossed and some basic .html with a bit more usage cases content written.
It looks like the code should be fine, but my experience is that smart pointers are incredibly difficult to get right at all the edge cases. So I may be missing something here.
I'm a little concerned that it appears you can create bad pointers for this class by inadvertently not using placement new. I'd feel better about it if there was some way to prevent this.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk