----- Original Message -----
From: "Dave Abrahams" <[EMAIL PROTECTED]>


> It just occurred to me that this trick only works when the underlying
> pointer type is a real pointer.  In other words, if smart_ptr is to be able
> to provide array access, while wrapping arbitrary pointer-like types, an
> operator[] is still required.

Yes, you're right.  My point was mostly that array support (equivalent to the
default C++ array support) can be provided with only those two things--custom
deallocator and implicit conversion to pointed-to type.  Everything else is just
a safety issue regarding polymorphic objects and arrays and isn't explicitly
necessary.  However, on a more general policy-based smart pointer front, it is a
good idea for any policy at all to be able to disable a certain interface
function (or ctor).  This is fairly easy to encapsulate but is dependent on how
the policies are passed into the smart pointer template (i.e. through one
parameter as a typelist (or similar) or through multiple parameters with
defaults or through multiple parameters with arbitrary ordering).

Paul Mensonides

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to