$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [Boost-users] shared_ptr and global reset
From: Igor R (boost.lists_at_[hidden])
Date: 2009-02-25 09:51:06
>
> Let's say that I have many shared_ptr<A> sharing ownership to the same A
> object. At some point, I would like all those shared_ptr to point to a
> new Object A. Is there an easy (and safe) way to accomplish that?
> I know how to do that for one shared_ptr using either "reset", either
> operator = but in order to do this for all shared_ptr sharing ownership,
> the only way I could think of is through a registration mechanism (like the
> Observer pattern) but this sounds an overkilling process to me.
>
You can wrap ObjectA by a proxy object, so that all the shared_ptr's point
to that proxy that holds actual object. Then you can "reset" the object in
the proxy.