CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::signalslot::Signal< T > Class Template Reference

#include <DelayedReader.h>

Public Types

typedef std::vector< slot_typeslot_list_type
 
typedef std::function< Tslot_type
 

Public Member Functions

template<typename U >
void connect (U iFunc)
 
template<typename U >
void connect_front (U iFunc)
 
template<typename... Args>
void emit (Args &&... args) const
 
template<typename... Args>
void operator() (Args &&... args) const
 
 Signal ()=default
 
 Signal (Signal &&)=default
 
slot_list_type const & slots () const
 
 ~Signal ()=default
 

Private Member Functions

const Signaloperator= (const Signal &)=delete
 
 Signal (const Signal &)=delete
 

Private Attributes

slot_list_type m_slots
 

Detailed Description

template<typename T>
class edm::signalslot::Signal< T >

Definition at line 26 of file DelayedReader.h.

Member Typedef Documentation

◆ slot_list_type

template<typename T>
typedef std::vector<slot_type> edm::signalslot::Signal< T >::slot_list_type

Definition at line 38 of file Signal.h.

◆ slot_type

template<typename T>
typedef std::function<T> edm::signalslot::Signal< T >::slot_type

Definition at line 37 of file Signal.h.

Constructor & Destructor Documentation

◆ Signal() [1/3]

template<typename T>
edm::signalslot::Signal< T >::Signal ( )
default

◆ ~Signal()

template<typename T>
edm::signalslot::Signal< T >::~Signal ( )
default

◆ Signal() [2/3]

template<typename T>
edm::signalslot::Signal< T >::Signal ( Signal< T > &&  )
default

◆ Signal() [3/3]

template<typename T>
edm::signalslot::Signal< T >::Signal ( const Signal< T > &  )
privatedelete

Member Function Documentation

◆ connect()

template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect ( iFunc)
inline

Definition at line 62 of file Signal.h.

62  {
63  m_slots.push_back(std::function<T>(iFunc));
64  }

Referenced by edm::ActivityRegistry::connectGlobals(), edm::ActivityRegistry::connectLocals(), PrintLoadingPlugins::PrintLoadingPlugins(), edm::service::Tracer::Tracer(), edm::UnscheduledCallProducer::UnscheduledCallProducer(), o2o_db_cfgmap.DbManagerDAQ::update_hashmap(), edm::ActivityRegistry::watchPostBeginJob(), edm::ActivityRegistry::watchPreallocate(), edm::ActivityRegistry::watchPreBeginJob(), edm::ActivityRegistry::watchPreCloseFile(), edm::ActivityRegistry::watchPreEvent(), edm::ActivityRegistry::watchPreEventReadFromSource(), edm::ActivityRegistry::watchPreGlobalBeginLumi(), edm::ActivityRegistry::watchPreGlobalBeginRun(), edm::ActivityRegistry::watchPreGlobalEarlyTermination(), edm::ActivityRegistry::watchPreGlobalEndLumi(), edm::ActivityRegistry::watchPreGlobalEndRun(), edm::ActivityRegistry::watchPreGlobalWriteLumi(), edm::ActivityRegistry::watchPreGlobalWriteRun(), edm::ActivityRegistry::watchPreLockEventSetupGet(), edm::ActivityRegistry::watchPreModuleBeginJob(), edm::ActivityRegistry::watchPreModuleBeginStream(), edm::ActivityRegistry::watchPreModuleConstruction(), edm::ActivityRegistry::watchPreModuleEndJob(), edm::ActivityRegistry::watchPreModuleEndStream(), edm::ActivityRegistry::watchPreModuleEvent(), edm::ActivityRegistry::watchPreModuleEventAcquire(), edm::ActivityRegistry::watchPreModuleEventDelayedGet(), edm::ActivityRegistry::watchPreModuleEventPrefetching(), edm::ActivityRegistry::watchPreModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPreModuleGlobalBeginRun(), edm::ActivityRegistry::watchPreModuleGlobalEndLumi(), edm::ActivityRegistry::watchPreModuleGlobalEndRun(), edm::ActivityRegistry::watchPreModuleStreamBeginLumi(), edm::ActivityRegistry::watchPreModuleStreamBeginRun(), edm::ActivityRegistry::watchPreModuleStreamEndLumi(), edm::ActivityRegistry::watchPreModuleStreamEndRun(), edm::ActivityRegistry::watchPreModuleWriteLumi(), edm::ActivityRegistry::watchPreModuleWriteRun(), edm::ActivityRegistry::watchPreOpenFile(), edm::ActivityRegistry::watchPrePathEvent(), edm::ActivityRegistry::watchPreSourceConstruction(), edm::ActivityRegistry::watchPreSourceEarlyTermination(), edm::ActivityRegistry::watchPreSourceEvent(), edm::ActivityRegistry::watchPreSourceLumi(), edm::ActivityRegistry::watchPreSourceRun(), edm::ActivityRegistry::watchPreStreamBeginLumi(), edm::ActivityRegistry::watchPreStreamBeginRun(), edm::ActivityRegistry::watchPreStreamEarlyTermination(), edm::ActivityRegistry::watchPreStreamEndLumi(), and edm::ActivityRegistry::watchPreStreamEndRun().

◆ connect_front()

template<typename T>
template<typename U >
void edm::signalslot::Signal< T >::connect_front ( iFunc)
inline

Definition at line 67 of file Signal.h.

67  {
68  m_slots.insert(m_slots.begin(), std::function<T>(iFunc));
69  }

Referenced by edm::ActivityRegistry::watchJobFailure(), edm::ActivityRegistry::watchPostCloseFile(), edm::ActivityRegistry::watchPostEndJob(), edm::ActivityRegistry::watchPostEvent(), edm::ActivityRegistry::watchPostEventReadFromSource(), edm::ActivityRegistry::watchPostEventSetupGet(), edm::ActivityRegistry::watchPostGlobalBeginLumi(), edm::ActivityRegistry::watchPostGlobalBeginRun(), edm::ActivityRegistry::watchPostGlobalEndLumi(), edm::ActivityRegistry::watchPostGlobalEndRun(), edm::ActivityRegistry::watchPostGlobalWriteLumi(), edm::ActivityRegistry::watchPostGlobalWriteRun(), edm::ActivityRegistry::watchPostLockEventSetupGet(), edm::ActivityRegistry::watchPostModuleBeginJob(), edm::ActivityRegistry::watchPostModuleBeginStream(), edm::ActivityRegistry::watchPostModuleConstruction(), edm::ActivityRegistry::watchPostModuleEndJob(), edm::ActivityRegistry::watchPostModuleEndStream(), edm::ActivityRegistry::watchPostModuleEvent(), edm::ActivityRegistry::watchPostModuleEventAcquire(), edm::ActivityRegistry::watchPostModuleEventDelayedGet(), edm::ActivityRegistry::watchPostModuleEventPrefetching(), edm::ActivityRegistry::watchPostModuleGlobalBeginLumi(), edm::ActivityRegistry::watchPostModuleGlobalBeginRun(), edm::ActivityRegistry::watchPostModuleGlobalEndLumi(), edm::ActivityRegistry::watchPostModuleGlobalEndRun(), edm::ActivityRegistry::watchPostModuleStreamBeginLumi(), edm::ActivityRegistry::watchPostModuleStreamBeginRun(), edm::ActivityRegistry::watchPostModuleStreamEndLumi(), edm::ActivityRegistry::watchPostModuleStreamEndRun(), edm::ActivityRegistry::watchPostModuleWriteLumi(), edm::ActivityRegistry::watchPostModuleWriteRun(), edm::ActivityRegistry::watchPostOpenFile(), edm::ActivityRegistry::watchPostPathEvent(), edm::ActivityRegistry::watchPostSourceConstruction(), edm::ActivityRegistry::watchPostSourceEvent(), edm::ActivityRegistry::watchPostSourceLumi(), edm::ActivityRegistry::watchPostSourceRun(), edm::ActivityRegistry::watchPostStreamBeginLumi(), edm::ActivityRegistry::watchPostStreamBeginRun(), edm::ActivityRegistry::watchPostStreamEndLumi(), edm::ActivityRegistry::watchPostStreamEndRun(), and edm::ActivityRegistry::watchPreEndJob().

◆ emit()

template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::emit ( Args &&...  args) const
inline

Definition at line 46 of file Signal.h.

46  {
47  for (auto& slot : m_slots) {
48  slot(std::forward<Args>(args)...);
49  }
50  }

Referenced by edm::signalslot::Signal< void(StreamID)>::operator()(), edm::InputProductResolver::resolveProduct_(), and edm::UnscheduledProductResolver::resolveProduct_().

◆ operator()()

template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::operator() ( Args &&...  args) const
inline

Definition at line 53 of file Signal.h.

53  {
54  emit(std::forward<Args>(args)...);
55  }

◆ operator=()

template<typename T>
const Signal& edm::signalslot::Signal< T >::operator= ( const Signal< T > &  )
privatedelete

◆ slots()

template<typename T>
slot_list_type const& edm::signalslot::Signal< T >::slots ( ) const
inline

Definition at line 57 of file Signal.h.

57 { return m_slots; }

Member Data Documentation

◆ m_slots

template<typename T>
slot_list_type edm::signalslot::Signal< T >::m_slots
private
writedatasetfile.args
args
Definition: writedatasetfile.py:18
edm::signalslot::Signal::emit
void emit(Args &&... args) const
Definition: Signal.h:46
edm::signalslot::Signal::m_slots
slot_list_type m_slots
Definition: Signal.h:77