
--- Howard Hinnant <howard.hinnant@gmail.com> wrote:
Note that I don't want reference counting overhead (shared_array) or the overhead associated with std::vector (two pointers instead of just one, default construction on resize or lots of push_backs, deepcopy semantics).
Point your vendor at:
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/ n1856.html#Addition%20-%20Class%20template%20unqiue_ptr
and tell them you want it sooner rather than later.
Thanks for the link! unique_ptr looks like the best general solution. Problem is, I needed it yesterday (literally) and in fact I would have loved to use it many times before. If auto_ptr is going to be deprecated, of course auto_array shouldn't be in boost. How about this tiny patch then to keep poor old scientific application developers like me going until the optimal solution is universally available? Index: scoped_array.hpp =================================================================== RCS file: /cvsroot/boost/boost/boost/scoped_array.hpp,v retrieving revision 1.16 diff -u -r1.16 scoped_array.hpp --- scoped_array.hpp 19 Aug 2004 15:23:46 -0000 1.16 +++ scoped_array.hpp 10 Mar 2006 07:12:35 -0000 @@ -37,10 +37,12 @@ template<class T> class scoped_array // noncopyable { -private: +protected: T * ptr; +private: + scoped_array(scoped_array const &); scoped_array & operator=(scoped_array const &); Those in danger of abusing release() most likely won't notice that they can inherit, implement release() in the sub-class, and only then start abusing. But I'd be a happy chap because I wouldn't have to copy scoped_array.hpp wholesale. BTW: The scoped_ptr FAQ should be changed to point to the unique_ptr page. Otherwise people like me will keep thinking auto_ptr is a good thing. Thanks! Cheers, Ralf __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com