Обеспечивает соединение отправитель -> получатели. Получатели могут быть вызваны в своих потоках (по умолчанию). More...
#include <AsyncFw/FunctionConnector>
Public Member Functions | |
| template<typename T> | |
| Connection & | operator() (T f, Connection::Type t=Connection::Default) |
| Подключиться | |
| template<typename O, typename M> | |
| Connection & | connect (O *o, M m, Connection::Type t=Connection::Default) |
| Подключиться | |
| void | operator() (Args... args) |
| Отправить | |
| AbstractFunctionConnector (ConnectionType=Auto) | |
Public Member Functions inherited from AsyncFw::AbstractFunctionConnector | |
| AbstractFunctionConnector (ConnectionType=Auto) | |
Additional Inherited Members | |
Public Types inherited from AsyncFw::AbstractFunctionConnector | |
| enum | ConnectionType : uint8_t { Auto = 0 , Direct = 0x01 , Queued = 0x02 , Sync = 0x04 , AutoOnly = 0x10 , DirectOnly = 0x11 , QueuedOnly = 0x12 , SyncOnly = 0x14 } |
Protected Attributes inherited from AsyncFw::AbstractFunctionConnector | |
| std::vector< Connection * > | list |
| ConnectionType | defaultConnectionType |
| std::mutex | mutex |
Обеспечивает соединение отправитель -> получатели. Получатели могут быть вызваны в своих потоках (по умолчанию).
Другие инструментальные средства реализуют подобную коммуникацию с помощью коллбэков. Коллбэк - это указатель на функцию, поэтому, если вы хотите, чтобы функция обработки уведомила вас о каком-либо событии, вы передаете указатель на другую функцию (коллбэк) в функцию обработки. Затем функция обработки вызывает коллбэк, когда это необходимо.
Example: