
-----Original Message----- From: boost-bounces@lists.boost.org on behalf of Dan Walters Sent: Thu 3/17/2011 8:21 AM To: boost@lists.boost.org Subject: Re: [boost] [valid_ptr] proposing a new type of pointer object that allows validity tracking without memory management and object ownership On 17 March 2011 03:33, Gruenke, Matt <mgruenke@tycoint.com> wrote: ...
Matt <mgruenke@tycoint.com> wrote: the same thing could be accomplished by using weak pointers to an object whose refcount had been manually incremented by 1. When you want to kill it, one of the referers could then manually decrement the refcount, so that it gets killed when it goes back to idle.
valid_ptr should not be able to release it's target object by design - it is not a memory management pointer.
It doesn't matter whether valid_ptr can be used to delete the object. The point was that in order to fulfill the contract of ensuring that the pointer is valid while used, in a threadsafe fashion, it would need to either hold a lock or a reference count preventing the object from being deleted while an expression involving one of the access operators is being evaluated. As you point out, valid_ptr doesn't need to solve the problem of thread synchronization in order to be usable in a multithreaded environment. However, if it doesn't, the question is whether it provides enough value that people would use it. Matt