30 #ifndef GUM_LISTENER_H 31 #define GUM_LISTENER_H 36 #include <agrum/agrum.h> 37 #include <agrum/tools/core/debug.h> 41 #ifndef DOXYGEN_SHOULD_SKIP_THIS 56 virtual ~ISignaler(){};
57 virtual void detachFromTarget(
Listener* target) = 0;
60 virtual bool hasListener() = 0;
97 #define GUM_CONNECT(sender, signal, receiver, target) 98 (sender).signal.attach(&(receiver), &target) 100 #ifndef GUM_NO_INLINE 101 # include <agrum/tools/core/signal/listener_inl.h>
Listener(const Listener &l)
Internal namespace for aGrUM signaler/listener components.
INLINE void emplace(Args &&... args)
void attachSignal__(__sig__::ISignaler *sender)
std::vector< __sig__::ISignaler *> Senders_list
Alias for the list of signal senders.
Listener()
Class constructor.
Every class who would catch signal from signaler should derive from Listener.
void detachSignal__(__sig__::ISignaler *sender)