siplasplas
A library for C++ reflection and introspection
|
Implements a direct connection to the destination function. More...
#include <siplasplas/signals/syncsink.hpp>
Public Member Functions | |
template<typename Caller , typename Function > | |
SyncSink (Caller &caller, Function function) | |
Creates a synchronous sink given a caller and a destination function. More... | |
template<typename Caller , typename Callee , typename Function > | |
SyncSink (Caller &caller, Callee &callee, Function function) | |
Creates a synchronous sink given a caller, a callee, and a destination function. More... | |
bool | pull () override |
Does nothing. More... | |
Public Member Functions inherited from cpp::SignalSink | |
template<typename Caller , typename Callee > | |
SignalSink (Caller &caller, Callee &callee) | |
Constructs a sink given the connection caller and the callee. More... | |
template<typename Caller > | |
SignalSink (Caller &caller) | |
Constructs a sink given the connection caller object. More... | |
template<typename... Args> | |
void | operator() (Args &&...args) |
Invokes the sink with the given arguments. More... | |
SignalEmitter * | callee () const |
Gives the callee of the connection. More... | |
SignalEmitter * | caller () const |
Gives the caller of the connection. More... | |
Protected Member Functions | |
void | invoke (std::vector< cpp::SimpleAny32 > &&args) override |
bool | invokeWithoutCallee () const override |
Implements a direct connection to the destination function.
Synchronous sinks have no special policy for function invocation but just invoke the function directly when a signal arrives. See SignalEmitter::connect().
|
inline |
Creates a synchronous sink given a caller and a destination function.
See SignalEmitter::connect_async()
caller | Caller object. |
function | Function to be invoked when the signal is handled. |
|
inline |
Creates a synchronous sink given a caller, a callee, and a destination function.
See SignalEmitter::connect_async()
caller | Caller object. |
callee | Callee object. |
function | Function to be invoked when the signal is handled. |
|
overridevirtual |
Does nothing.
Synchronous sinks directly invoke the destination function when SignalSink::operator() and SyncSink::invoke() are invoked, so pull() has no work to do.
Implements cpp::SignalSink.