Boost logo

Boost :

From: Thorsten Ottosen (nesotto_at_[hidden])
Date: 2003-12-29 01:02:45


"Dan W." <danw_at_[hidden]> wrote in message
news:6.0.0.22.0.20031229001915.027ec070_at_pcp.softhome.net...

> I just thought of another situation where where smart pointer input might
> be useful. Say I want two or more pointer containers to share ownership of
> some of the pointed to elements...

sounds like you need a reference counted smart pointer.

> Example: A 3D game-engine where I keep objects into sorted containers
along
> X, Y and Z coordinates. Or to make it more complex (and more realistic a
> situation) where I have multiple overlapping containers along each of the
> axes, where the multiple containers handle distinct orders of distance,
and
> inversely proportional levels of detail. I may not want an object to be
> deleted until it has been dropped from all containers.

manually handling this seems to me as to be begging for trouple. I have some
 graphics background myself (see www.cs.auc.dk/~nesotto/pie) and the scene
tree package
used an intrusive_ptr reference counted smart pointer.

It would be extreamely interesting to see if the pointer containers could be
used
in scene trees. However, I don't know enough about this to say so. Ownership
issues
are definitely a problem; Overlapping containers might be emulated by
keeping a reference
to the pointer container with the overlapping elements; perhaps one should
even
use a shared_ptr< ptr_container<> >. ?

> Also, with
> boost::shared_ptr I can supply an alternate deleter functor. I haven't
> looked at your code very deeply yet, is there a similar capability built
> in, or would you consider it doable or useful?

Of course it is doable, I just don't see what purpose it has.

br

Thorsten


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