|
Boost : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-09-21 13:54:11
From: "David Abrahams" <dave_at_[hidden]>
> #1 shared_ptr<Base> when there's no _accessible_ ~Base, to prevent
> deletion;
> #2 Template parameter being an incomplete type at destruction time;
> #3 Using shared_ptr<void> to retain ownership but strip type information
> (similar to void*);
> #4 Encapsulating allocation details via custom deallocators;
> #5 Passing shared_ptr's across EXE/DLL boundaries that use different
heaps.
>
> #2 and #4 both require the addition of the custom deallocator, right?
Hmm. I _think_ that #2 doesn't require a deallocator to be instantiated,
although #5 does.
> Most compilers will do #5 correctly if the destructor is virtual, right?
Right.
> BTW, implementation notions:
>
> 1. Should we think about optimizing away storage for the deleter when it's
> known to be stateless?
We might, although I'm not convinced that it's worth it.
> 2. Should we think about avoiding vtbl bloat a la boost::function?
What does "vtbl bloat" mean?
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk