Empirical
Public Member Functions | List of all members
emp::SignalControl Class Reference

#include <SignalControl.h>

Inheritance diagram for emp::SignalControl:
emp::internal::SignalControl_Base

Public Member Functions

 SignalControl ()
 
 ~SignalControl ()
 
size_t GetNumActions () const
 
size_t GetNumSignals () const
 
const ActionBaseGetAction (const std::string &name) const
 
const SignalBaseGetSignal (const std::string &name) const
 
ActionManagerGetActionManager ()
 
SignalManagerGetSignalManager () override
 
template<typename... Ts>
auto & AddAction (Ts &&...act)
 
template<typename... ARGS>
auto & AddSignal (const std::string &name="")
 
template<typename... ARGS>
auto & AddSignal (Signal< void(ARGS...)> &signal)
 
template<typename... ARGS>
auto Link (SignalBase &s, const std::function< void(ARGS...)> &f)
 
template<typename A >
auto Link (const std::string &s, A &&a)
 
auto Link (SignalBase &s, const std::string &a)
 
auto Link (SignalBase &s, ActionBase &a)
 
template<typename... ARGS>
void Trigger (const std::string &name, ARGS &&...args)
 
void NotifyConstruct (SignalBase *sig_ptr) override
 
void PrintNames (std::ostream &os=std::cout)
 

Constructor & Destructor Documentation

emp::SignalControl::SignalControl ( )
inline
emp::SignalControl::~SignalControl ( )
inline

Member Function Documentation

template<typename... Ts>
auto& emp::SignalControl::AddAction ( Ts &&...  act)
inline
template<typename... ARGS>
auto& emp::SignalControl::AddSignal ( const std::string &  name = "")
inline
template<typename... ARGS>
auto& emp::SignalControl::AddSignal ( Signal< void(ARGS...)> &  signal)
inline
const ActionBase& emp::SignalControl::GetAction ( const std::string &  name) const
inline
ActionManager& emp::SignalControl::GetActionManager ( )
inline
size_t emp::SignalControl::GetNumActions ( ) const
inline
size_t emp::SignalControl::GetNumSignals ( ) const
inline
const SignalBase& emp::SignalControl::GetSignal ( const std::string &  name) const
inline
SignalManager& emp::SignalControl::GetSignalManager ( )
inlineoverridevirtual
template<typename... ARGS>
auto emp::SignalControl::Link ( SignalBase s,
const std::function< void(ARGS...)> &  f 
)
inline
template<typename A >
auto emp::SignalControl::Link ( const std::string &  s,
A &&  a 
)
inline
auto emp::SignalControl::Link ( SignalBase s,
const std::string &  a 
)
inline
auto emp::SignalControl::Link ( SignalBase s,
ActionBase a 
)
inline
void emp::SignalControl::NotifyConstruct ( SignalBase sig_ptr)
inlineoverridevirtual
void emp::SignalControl::PrintNames ( std::ostream &  os = std::cout)
inline
template<typename... ARGS>
void emp::SignalControl::Trigger ( const std::string &  name,
ARGS &&...  args 
)
inline

The documentation for this class was generated from the following file: