| libsigc++ 3.6.0
    | 
Base type for slots. More...
#include <sigc++/functors/slot_base.h>

| Public Types | |
| using | func_destroy_notify = notifiable::func_destroy_notify | 
| Public Member Functions | |
| slot_base () noexcept | |
| Constructs an empty slot. | |
| slot_base (const slot_base &src) | |
| Constructs a slot, copying an existing one. | |
| slot_base (rep_type *rep) noexcept | |
| Constructs a slot from an existing slot_rep object. | |
| slot_base (slot_base &&src) | |
| Constructs a slot, moving an existing one. | |
| ~slot_base () | |
| void | add_destroy_notify_callback (notifiable *data, notifiable::func_destroy_notify func) const | 
| Add a callback that is executed (notified) when the slot is destroyed. | |
| bool | block (bool should_block=true) noexcept | 
| Sets the blocking state. | |
| bool | blocked () const noexcept | 
| Returns whether the slot is blocked. | |
| void | disconnect () | 
| Disconnects the slot. | |
| bool | empty () const noexcept | 
| Returns whether the slot is invalid. | |
| operator bool () const noexcept | |
| Tests whether a slot is null, because the default constructor was used. | |
| slot_base & | operator= (const slot_base &src) | 
| Overrides this slot, making a copy from another slot. | |
| slot_base & | operator= (slot_base &&src) | 
| Overrides this slot, making a move from another slot. | |
| void | remove_destroy_notify_callback (notifiable *data) const | 
| Remove a callback previously installed with add_destroy_notify_callback(). | |
| void | set_parent (notifiable *parent, notifiable::func_destroy_notify cleanup) const noexcept | 
| Sets the parent of this slot. | |
| bool | unblock () noexcept | 
| Unsets the blocking state. | |
| Public Attributes | |
| bool | blocked_ | 
| Indicates whether the slot is blocked. | |
| rep_type * | rep_ | 
| Typed slot_rep object that contains a functor. | |
Base type for slots.
slot_base integrates most of the interface of the derived sigc::slot template. Slots can be connected to signals, be disconnected at some later point (disconnect()) and temporarily be blocked (block(), unblock()). The validity of a slot can be tested with empty().
The internal representation of a sigc::internal::slot_rep derived type is built from slot_base's derivations. set_parent() is used to register a notification callback that is executed when the slot gets invalid. add_destroy_notify_callback() is used by connection objects to add a notification callback that is executed on destruction.
| 
 | noexcept | 
Constructs an empty slot.
| 
 | explicitnoexcept | 
Constructs a slot from an existing slot_rep object.
| rep | The slot_rep object this slot should contain. | 
Constructs a slot, copying an existing one.
| src | The existing slot to copy. | 
| sigc::slot_base::slot_base | ( | slot_base && | src | ) | 
Constructs a slot, moving an existing one.
If src is connected to a parent (e.g. a signal), it is copied, not moved. 
| src | The existing slot to move or copy. | 
| sigc::slot_base::~slot_base | ( | ) | 
| void sigc::slot_base::add_destroy_notify_callback | ( | notifiable * | data, | 
| notifiable::func_destroy_notify | func | ||
| ) | const | 
Add a callback that is executed (notified) when the slot is destroyed.
This function is used internally by connection objects.
| data | Passed into func upon notification. | 
| func | Callback executed upon destruction of the object. | 
| 
 | noexcept | 
Sets the blocking state.
If should_block is true then the blocking state is set. Subsequent calls to slot::operator()() don't invoke the functor contained by this slot until unblock() or block() with should_block = false is called. 
| should_block | Indicates whether the blocking state should be set or unset. | 
true if the slot was in blocking state before. | 
 | inlinenoexcept | 
Returns whether the slot is blocked.
true if the slot is blocked. | void sigc::slot_base::disconnect | ( | ) | 
Disconnects the slot.
Invalidates the slot and notifies the parent.
| 
 | inlinenoexcept | 
Returns whether the slot is invalid.
true if the slot is invalid (empty). | 
 | explicitnoexcept | 
Tests whether a slot is null, because the default constructor was used.
Test a slot for null like so:
Overrides this slot, making a copy from another slot.
| src | The slot from which to make a copy. | 
this. Overrides this slot, making a move from another slot.
If src is connected to a parent (e.g. a signal), it is copied, not moved. 
| src | The slot from which to move or copy. | 
this. | void sigc::slot_base::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(). | 
| 
 | noexcept | 
Sets the parent of this slot.
This function is used by signals to register a notification callback. This notification callback is executed when the slot becomes invalid because of some referred object dying.
| parent | The new parent. | 
| cleanup | The notification callback. | 
| 
 | noexcept | 
Unsets the blocking state.
true if the slot was in blocking state before. | bool sigc::slot_base::blocked_ | 
Indicates whether the slot is blocked.
| 
 | mutable | 
Typed slot_rep object that contains a functor.