Home | Libraries | People | FAQ | More |
boost::signals::trackable — Enables safe use of multicast callbacks.
class trackable { public: // construct/copy/destruct trackable(); trackable(const trackable&); trackable& operator=(const trackable&); ~trackable(); };
The trackable class provides automatic disconnection of signals and slots when objects bound in slots (via pointer or reference) are destroyed. The trackable class may only be used as a public base class for some other class; when used as such, that class may be bound to function objects used as part of slots. The manner in which a trackable object tracks the set of signal-slot connections it is a part of is unspecified.
The actual use of trackable is contingent on the presence of appropriate visit_each overloads for any type that may contain pointers or references to trackable objects.
trackable();
Effects:
Sets the list of connected slots to empty.
Throws:
Will not throw.
trackable(const trackable& other);
Effects:
Sets the list of connected slots to empty.
Throws:
Will not throw.
Rationale:
Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.
trackable& operator=(const trackable& other);
Effects:
Sets the list of connected slots to empty.
Returns:
*this
Throws:
Will not throw.
Rationale:
Signal-slot connections can only be created via calls to an explicit connect method, and therefore cannot be created here when trackable objects are copied.
~trackable();
Effects: Disconnects all signal/slot connections that contain a pointer or reference to this trackable object that can be found by visit_each.
Copyright © 2001-2004 Douglas Gregor |