Boost logo

Boost :

From: E. Gladyshev (egladysh_at_[hidden])
Date: 2003-08-28 20:38:48


--- Gregory Colvin <gregory.colvin_at_[hidden]> wrote:
> On Thursday, Aug 28, 2003, at 16:26 America/Denver, E. Gladyshev wrote:
> > --- Gregory Colvin <gregory.colvin_at_[hidden]> wrote:
> >>> How will I even know it, the documentation is completely
> >>> ignorant on the memory issues.
> >>
> >> Perhaps because you work with the authors of the documentation to
> >> make it sure it says what needs saying?
> >
> > Are the documentation authors monitoring this mailing list?
> >
> >> And I have no objection myself to adding an allocator parameter
> >> to the shared_ptr constructor, or to making some other change that
> >> serves the purpose. So if you need a change, why not just do it,
> >> try it out, and submit a patch?
> >
> > How about
> >
> > template< typename T, typename Counter = int >
> > shared_ptr
> > {
> > typedef Counter counter; //counter type should be public
> >
> > template <typename DataAlloc = std::allocator<T>, typename
> > CounterAlloc=std::allocator<counter>
> >>
> > shared_ptr( const DataAlloc& da = DataAlloc(), const IntAlloc ia& =
> > CountAlloc() );
> > };
>
> shared_ptr doesn't allocate the data, it only deletes it, which is the
> job of the
> current deleter parameter. And the counter type is by design not part
> of the
> shared_ptr type, so it doesn't belong as parameter to the shared_ptr
> template.
> See:
>
> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/boost/boost/boost/
> shared_ptr.hpp
>
> So you what you might want is to add something more like this to
> shared_ptr:
>
> template<typename Data, typename Deleter, template<class Counter>
> class Allocator>
> shared_ptr(
> Data*,
> Deleter,
> const Allocator<boost::detail::sp_counted_base_impl<Data*,
> Deleter> >& );
>
> The idea being that you can use this constructor to get complete
> control over how
> a particular shared_ptr manages memory.

There are some issues with ho

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk