|
| sink (sigh< Ret(Args...)> &ref) ENTT_NOEXCEPT |
| Constructs a sink that is allowed to modify a given signal. More...
|
|
bool | empty () const ENTT_NOEXCEPT |
| Returns false if at least a listener is connected to the sink. More...
|
|
template<auto Function> |
sink | before () |
| Returns a sink that connects before a given free function or an unbound member. More...
|
|
template<auto Candidate, typename Type > |
sink | before (Type &&value_or_instance) |
| Returns a sink that connects before a free function with payload or a bound member. More...
|
|
template<typename Type > |
sink | before (Type &value_or_instance) |
| Returns a sink that connects before a given instance or specific payload. More...
|
|
template<typename Type > |
sink | before (Type *value_or_instance) |
| Returns a sink that connects before a given instance or specific payload. More...
|
|
sink | before () |
| Returns a sink that connects before anything else. More...
|
|
template<auto Candidate> |
connection | connect () |
| Connects a free function or an unbound member to a signal. More...
|
|
template<auto Candidate, typename Type > |
connection | connect (Type &&value_or_instance) |
| Connects a free function with payload or a bound member to a signal. More...
|
|
template<auto Candidate> |
void | disconnect () |
| Disconnects a free function or an unbound member from a signal. More...
|
|
template<auto Candidate, typename Type > |
void | disconnect (Type &&value_or_instance) |
| Disconnects a free function with payload or a bound member from a signal. More...
|
|
template<typename Type > |
void | disconnect (Type &value_or_instance) |
| Disconnects free functions with payload or bound members from a signal. More...
|
|
template<typename Type > |
void | disconnect (Type *value_or_instance) |
| Disconnects free functions with payload or bound members from a signal. More...
|
|
void | disconnect () |
| Disconnects all the listeners from a signal.
|
|
template<typename Ret, typename... Args>
class entt::sink< Ret(Args...)>
Sink class.
A sink is used to connect listeners to signals and to disconnect them.
The function type for a listener is the one of the signal to which it belongs.
The clear separation between a signal and a sink permits to store the former as private data member without exposing the publish functionality to the users of the class.
- Warning
- Lifetime of a sink must not overcome that of the signal to which it refers. In any other case, attempting to use a sink results in undefined behavior.
- Template Parameters
-
Ret | Return type of a function type. |
Args | Types of arguments of a function type. |
template<typename Ret , typename... Args>
template<auto Candidate, typename Type >
Connects a free function with payload or a bound member to a signal.
The signal isn't responsible for the connected object or the payload. Users must always guarantee that the lifetime of the instance overcomes the one of the signal. On the other side, the signal handler performs checks to avoid multiple connections for the same function.
When used to connect a free function with payload, its signature must be such that the instance is the first argument before the ones used to define the signal itself.
- Template Parameters
-
Candidate | Function or member to connect to the signal. |
Type | Type of class or type of payload. |
- Parameters
-
value_or_instance | A valid object that fits the purpose. |
- Returns
- A properly initialized connection object.