Hi, I was wondering whether anyone had thought about adding a rebind nested template class to the boost ptrs, similar to those used by allocators. A situation has recently occurred where I need to get a ptr to a derived class from a pre to a base class, where the ptr to the base class is used a typedef e.g
struct Base {}; typedef boost::shared_ptr<Base> BasePtr; void func(const BasePtr& base) { } struct Derived : public Base {}; typedef boost::shared_ptr<Derived> DerivedPtr; ^^^^^^^^^^^^^^^^^^^^^^^^^^ Don't want to have to do this func(DerivedPtr(new Derived)) ....... etc The reason I dont want to have to do the second typedef is that we have a number of smart pointer classes of our own, and the type of the BasePtr should be an implementation detail. If boost::shared_ptr had a rebind, then we could add it to our own classes as well, and the actual wrapper used would become an implementation detail Cheers Ben Young _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost