Empirical
|
Signals with void return. More...
#include <Signal.h>
Public Types | |
using | fun_t = void(ARGS...) |
using | this_t = Signal< fun_t > |
Public Member Functions | |
Signal (const std::string &name="", internal::SignalManager_Base *manager=nullptr) | |
Signal (const std::string &name, internal::SignalControl_Base &control) | |
virtual this_t * | Clone () const |
size_t | GetNumArgs () const |
size_t | GetNumActions () const |
void | Trigger (ARGS...args) |
Trigger this signal, providing all needed arguments. More... | |
SignalKey | AddAction (const std::function< void(ARGS...)> &in_fun) |
Add an action that takes the proper arguments. More... | |
SignalKey | AddAction (ActionBase &in_action) |
Add a specified action to this signal. More... | |
template<typename... FUN_ARGS, typename... EXTRA_ARGS> | |
SignalKey | AddAction (const std::function< void(FUN_ARGS...)> &in_fun, TypePack< EXTRA_ARGS... >) |
Add an action that takes too few arguments... but provide specific padding info. More... | |
template<typename... FUN_ARGS> | |
SignalKey | AddAction (const std::function< void(FUN_ARGS...)> &in_fun) |
template<typename... FUN_ARGS> | |
SignalKey | AddAction (void in_fun(FUN_ARGS...)) |
void | Remove (SignalKey key) |
Remove an action from this signal by providing its key. More... | |
size_t | GetPriority (SignalKey key) |
Retrieve the relative priority associated with a specific. More... | |
const std::string & | GetName () const |
template<typename... ARGS> | |
void | BaseTrigger (ARGS...args) |
void | Clear () |
Remove all actions from this signal. More... | |
bool | Has (SignalKey key) const |
Protected Types | |
using | man_t = internal::SignalManager_Base |
Protected Member Functions | |
SignalKey | NextSignalKey () |
Protected Attributes | |
FunctionSet< void(ARGS...)> | actions |
Set of functions (actions) to be triggered with this signal. More... | |
std::string | name |
What is the unique name of this signal? More... | |
uint32_t | signal_id |
What is the unique ID of this signal? More... | |
uint32_t | next_link_id |
What ID shouild the next link have? More... | |
std::map< SignalKey, size_t > | link_key_map |
Map unique link keys to link index for actions. More... | |
emp::vector< man_t * > | managers |
What manager is handling this signal? More... | |
man_t * | prime_manager |
Which manager leads deletion? (nullptr for self) More... | |
Signals with void return.
using emp::Signal< void(ARGS...)>::fun_t = void(ARGS...) |
|
protectedinherited |
using emp::Signal< void(ARGS...)>::this_t = Signal<fun_t> |
|
inline |
|
inline |
|
inline |
Add an action that takes the proper arguments.
|
inlinevirtual |
Add a specified action to this signal.
Implements emp::SignalBase.
|
inline |
Add an action that takes too few arguments... but provide specific padding info.
|
inline |
Add an std::function that takes the wrong number of arguments. For now, we will assume that there are too few and we need to figure out how to pad it out.
|
inline |
Add a regular function that takes the wrong number of arguments. For now, we will assume that there are too few and we need to figure out how to pad it out.
|
inlineinherited |
|
inlineinherited |
Remove all actions from this signal.
|
inlinevirtual |
Implements emp::SignalBase.
|
inlineinherited |
|
inlinevirtual |
Implements emp::SignalBase.
|
inlinevirtual |
Implements emp::SignalBase.
|
inline |
Retrieve the relative priority associated with a specific.
|
inlineinherited |
|
inlineprotectedinherited |
|
inlinevirtual |
Remove an action from this signal by providing its key.
Implements emp::SignalBase.
|
inline |
Trigger this signal, providing all needed arguments.
|
protected |
Set of functions (actions) to be triggered with this signal.
|
protectedinherited |
Map unique link keys to link index for actions.
|
protectedinherited |
What manager is handling this signal?
|
protectedinherited |
What is the unique name of this signal?
|
protectedinherited |
What ID shouild the next link have?
|
protectedinherited |
Which manager leads deletion? (nullptr for self)
|
protectedinherited |
What is the unique ID of this signal?