|
AUI Framework
master
Cross-platform base for C++ UI apps
|
Classes# | |
| struct | call_wrapper |
Public Types# | |
| using | func_t = std::function<void(const Args&...)> |
| using | emits_args_t = std::tuple<Args...> |
Public Member Functions# | |
| template<typename Projection> | |
| auto | projected (Projection &&projection) const |
| call_wrapper | operator() (const Args &... args) |
| ASignal (ASignal &&) noexcept=default | |
| ASignal (const ASignal &) noexcept | |
| ASignal & | operator= (ASignal &&) noexcept=default |
| ASignal & | operator= (const ASignal &) noexcept |
| operator bool () const | |
| Check whether signal contains any connected slots or not. | |
| void | clearAllOutgoingConnections () const noexcept override |
| Destroys all connections of this signal, if any. | |
| void | clearAllOutgoingConnectionsWith (aui::no_escape< AObjectBase > object) const noexcept override |
| Destroys all connections with passed receiver, if any. | |
| bool | hasOutgoingConnections () const noexcept |
| bool | hasOutgoingConnectionsWith (aui::no_escape< AObjectBase > object) const noexcept override |
| bool | isAtSignalEmissionState () const noexcept |
Additional Inherited Members# | |
Static Protected Member Functions inherited from AAbstractSignal | |
| static _weak< AObject > | weakPtrFromObject (AObject *object) |
| static void | addIngoingConnectionIn (aui::no_escape< AObjectBase > object, _< Connection > connection) |
| Adds a connection to the specified object. | |
| static void | removeIngoingConnectionIn (aui::no_escape< AObjectBase > object, Connection &connection, std::unique_lock< ASpinlockMutex > &lock) |
| Removes a connection from the specified object. | |
|
inlineoverridevirtualnoexcept |
Implements AAbstractSignal.
|
inlineoverridevirtualnoexcept |
| receiver | object to clear connections with. |
Implements AAbstractSignal.
|
inlinenodiscardoverridevirtualnoexcept |
| receiver | receiver objects to check connections with. |
Implements AAbstractSignal.
|
inline |
It's very useful then signal argument values calculation is expensive and you do not want to calculate them if no slots connected to the signal.