|
libsigc++
2.99.12
|
Base class for objects with auto-disconnection. More...
#include <sigc++/trackable.h>

Public Types | |
| using | func_destroy_notify = internal::func_destroy_notify |
Public Types inherited from sigc::notifiable | |
| using | func_destroy_notify = internal::func_destroy_notify |
Public Member Functions | |
| trackable () noexcept | |
| trackable (const trackable& src) noexcept | |
| trackable (trackable&& src) noexcept | |
| ~trackable () | |
| void | add_destroy_notify_callback (notifiable* data, func_destroy_notify func) const |
| Add a callback that is executed (notified) when the trackable object is detroyed. More... | |
| void | notify_callbacks () |
| Execute and remove all previously installed callbacks. More... | |
| trackable& | operator= (const trackable& src) |
| trackable& | operator= (trackable&& src) noexcept |
| void | remove_destroy_notify_callback (notifiable* data) const |
| Remove a callback previously installed with add_destroy_notify_callback(). More... | |
Base class for objects with auto-disconnection.
trackable must be inherited when objects shall automatically invalidate slots referring to them on destruction. A slot built from a member function of a trackable derived type installs a callback that is invoked when the trackable object is destroyed or overwritten.
add_destroy_notify_callback() and remove_destroy_notify_callback() can be used to manually install and remove callbacks when notification of the object dying is needed.
notify_callbacks() invokes and removes all previously installed callbacks and can therefore be used to disconnect from all signals.
Note that there is no virtual destructor. Don't use trackable* as pointer type for managing your data or the destructors of your derived types won't be called when deleting your objects.
| using sigc::trackable::func_destroy_notify = internal::func_destroy_notify |
|
noexcept |
|
noexcept |
|
noexcept |
| sigc::trackable::~trackable | ( | ) |
| void sigc::trackable::add_destroy_notify_callback | ( | notifiable* | data, |
| func_destroy_notify | func | ||
| ) | const |
Add a callback that is executed (notified) when the trackable object is detroyed.
| data | Passed into func upon notification. |
| func | Callback executed upon destruction of the object. |
| void sigc::trackable::notify_callbacks | ( | ) |
Execute and remove all previously installed callbacks.
| void sigc::trackable::remove_destroy_notify_callback | ( | notifiable* | data | ) | const |
Remove a callback previously installed with add_destroy_notify_callback().
The callback is not executed.
| data | Parameter passed into previous call to add_destroy_notify_callback(). |
1.8.14