|
Boost Users : |
From: Frank Mori Hess (frank.hess_at_[hidden])
Date: 2007-02-02 10:03:50
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Friday 02 February 2007 06:34 am, Timmo Stange wrote:
> deliverNews.connect(boost::bind(&NewsMessageArea::displayNews,
> boost::signals::track(newsMessageArea), _1));
>
> The wrapper signals::track would expect a shared_ptr and transport
> a weak_ptr. The information could be collected with visit_each just
> like it is done now and the number of trackable objects would only
> be limited by boost::bind. I think it is acceptable that the client
> code must maintain a shared_ptr to the tracked instance, as that's
> expressing rather well what is happening here (even though it
> doesn't really share the ownership, it shares information about the
> object).
That does seem more elegant, although I need to learn more about how
boost::trackable and visit_each work to understand how it would be
implemented. Is this something you would be willing to code?
> > Patch attached.
>
> Um, looks like I got it wrong. Fixed version attached.
Your changes are fine with me. I'm going to use protected virtual
functions instead of private though, as I find it less confusing (as in
"that actually works?", the c++ faq agrees with me!). Also, connected()
is missing a return.
- --
Frank
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)
iD8DBQFFw1LW5vihyNWuA4URApilAKChS0ALoL5bH3nmpwloyTtpTXQSvwCeMOP6
hZ8h+2eaBcxD+qsBX/v1JyM=
=sO52
-----END PGP SIGNATURE-----
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net