![]() |
aGrUM 3.1.1
a C++ library for (probabilistic) graphical models
|
C++20 variadic template implementation of the Signaler/Listener pattern. More...
#include <algorithm>#include <functional>#include <vector>#include <agrum/agrum.h>#include <agrum/base/core/signal/listener.h>#include <agrum/base/core/signal/signaler_tpl.h>Go to the source code of this file.
Classes | |
| class | gum::__sig__::IConnector< Args > |
| Abstract interface for signal connectors with variadic arguments. More... | |
| class | gum::__sig__::Connector< TargetClass, Args > |
| Concrete connector binding a target object and its member function. More... | |
| class | gum::__sig__::BasicSignaler< Args > |
| Base class for signalers, managing connector lifecycle. More... | |
| class | gum::Signaler< Args > |
| Variadic template signaler for any number of arguments. More... | |
Namespaces | |
| namespace | gum |
| gum is the global namespace for all aGrUM entities | |
| namespace | gum::__sig__ |
| Internal namespace for aGrUM signaler/listener components. | |
Macros | |
| #define | GUM_EMIT0(signal) |
| Emit a signal with no additional arguments. | |
| #define | GUM_EMIT_ARGS(signal, ...) |
| Emit a signal with variadic arguments. Usage: GUM_EMIT_ARGS(mySignal, arg1, arg2, ...). | |
| #define | GUM_EMIT1(signal, arg1) |
| #define | GUM_EMIT2(signal, arg1, arg2) |
| #define | GUM_EMIT3(signal, arg1, arg2, arg3) |
| #define | GUM_EMIT4(signal, arg1, arg2, arg3, arg4) |
| #define | GUM_EMIT5(signal, arg1, arg2, arg3, arg4, arg5) |
| #define | GUM_EMIT6(signal, arg1, arg2, arg3, arg4, arg5, arg6) |
| #define | GUM_EMIT7(signal, arg1, arg2, arg3, arg4, arg5, arg6, arg7) |
| #define | GUM_CONNECT(sender, signal, receiver, target) |
| Macro to connect a signal to a listener's member function. | |
Typedefs | |
| using | gum::Signaler0 = Signaler<> |
| Signaler with no arguments. | |
C++20 variadic template implementation of the Signaler/Listener pattern.
This file provides the single entry point for the signal/listener pattern. All signalers are unified under a single variadic template Signaler<Args...>.
Definition in file signaler.h.
| #define GUM_CONNECT | ( | sender, | |
| signal, | |||
| receiver, | |||
| target ) |
Macro to connect a signal to a listener's member function.
Definition at line 301 of file signaler.h.
| #define GUM_EMIT0 | ( | signal | ) |
Emit a signal with no additional arguments.
Definition at line 282 of file signaler.h.
| #define GUM_EMIT1 | ( | signal, | |
| arg1 ) |
Definition at line 289 of file signaler.h.
Referenced by gum::NodeGraphPart::_clearNodes_(), gum::NodeGraphPart::addNode(), gum::NodeGraphPart::addNodeWithId(), gum::learning::IBNLearner::distributeStop(), gum::learning::BNDatabaseGenerator< GUM_SCALAR >::drawSamples(), gum::NodeGraphPart::eraseNode(), and gum::credal::MultipleInferenceEngine< GUM_SCALAR, LazyPropagation< GUM_SCALAR > >::isEnabledMaxIter().
| #define GUM_EMIT2 | ( | signal, | |
| arg1, | |||
| arg2 ) |
Definition at line 290 of file signaler.h.
Referenced by gum::ArcGraphPart::ArcGraphPart(), gum::EdgeGraphPart::EdgeGraphPart(), gum::EdgeGraphPart::_clearEdges_(), gum::ArcGraphPart::addArc(), gum::EdgeGraphPart::addEdge(), gum::ArcGraphPart::clearArcs(), gum::learning::BNDatabaseGenerator< GUM_SCALAR >::drawSamples(), gum::ArcGraphPart::eraseArc(), gum::EdgeGraphPart::eraseEdge(), gum::ArcGraphPart::operator=(), gum::ArcGraphPart::operator=(), gum::EdgeGraphPart::operator=(), and gum::EdgeGraphPart::operator=().
| #define GUM_EMIT3 | ( | signal, | |
| arg1, | |||
| arg2, | |||
| arg3 ) |
Definition at line 291 of file signaler.h.
Referenced by gum::ApproximationScheme::continueApproximationScheme(), gum::learning::IBNLearner::distributeProgress(), gum::learning::Miic::initiation_(), gum::learning::SimpleMiic::initiation_(), gum::learning::Miic::iteration_(), gum::learning::SimpleMiic::iteration_(), gum::learning::SimpleMiic::orientationLatents_(), gum::learning::Miic::orientationMiic_(), and gum::learning::SimpleMiic::orientationMiic_().
| #define GUM_EMIT4 | ( | signal, | |
| arg1, | |||
| arg2, | |||
| arg3, | |||
| arg4 ) |
Definition at line 292 of file signaler.h.
| #define GUM_EMIT5 | ( | signal, | |
| arg1, | |||
| arg2, | |||
| arg3, | |||
| arg4, | |||
| arg5 ) |
Definition at line 293 of file signaler.h.
| #define GUM_EMIT6 | ( | signal, | |
| arg1, | |||
| arg2, | |||
| arg3, | |||
| arg4, | |||
| arg5, | |||
| arg6 ) |
Definition at line 295 of file signaler.h.
| #define GUM_EMIT7 | ( | signal, | |
| arg1, | |||
| arg2, | |||
| arg3, | |||
| arg4, | |||
| arg5, | |||
| arg6, | |||
| arg7 ) |
Definition at line 297 of file signaler.h.
| #define GUM_EMIT_ARGS | ( | signal, | |
| ... ) |
Emit a signal with variadic arguments. Usage: GUM_EMIT_ARGS(mySignal, arg1, arg2, ...).
Definition at line 286 of file signaler.h.