Boost logo

Boost :

From: Ralf W. Grosse-Kunstleve (rwgk_at_[hidden])
Date: 2006-03-10 02:25:39

--- Howard Hinnant <howard.hinnant_at_[hidden]> 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:
> 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
     T * ptr;
     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.



Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around

Boost list run by bdawes at, gregod at, cpdaniel at, john at