From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-11-17 09:35:41
From: "David Abrahams" <dave_at_[hidden]>
> > I haven't encountered a need to inspect the deleter yet... what
> > are you suggesting?
> How about:
> // attempt to extract a deleter of type D
> D* d = boost::get_deleter<D>(p);
> if (d)
> // that was the deleter type used.
Hmm. Do you really need access to the deleter, or only information about the
deleter type used? Or do you actually need an answer to the question "did I
create this shared_ptr?"
BTW, introspection isn't currently part of shared_ptr because whenever I
encounter a need for yet another shared_ptr feature, I always try _very
hard_ to solve the problem using only the existing public interface. This
unofficial filter has always worked well so far. :-) (And when I failed to
apply it - shared_from_this - it was a mistake.)
Have you considered keeping a std::set< weak_ptr<> > to track shared_ptr
instances created by boost.python? (Shot in the dark, don't yell at me if I
missed the point.)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk