CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
edm::signalslot::Signal< T > Class Template Reference

#include <Signal.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
 
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 35 of file Signal.h.

Member Typedef Documentation

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

Definition at line 40 of file Signal.h.

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

Definition at line 39 of file Signal.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 68 of file Signal.h.

68  {
69  m_slots.insert(m_slots.begin(),std::function<T>(iFunc));
70  }
slot_list_type m_slots
Definition: Signal.h:78
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::emit ( Args &&...  args) const
inline
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::operator() ( Args &&...  args) const
inline

Definition at line 54 of file Signal.h.

54  {
55  emit(std::forward<Args>(args)...);
56  }
void emit(Args &&...args) const
Definition: Signal.h:47
template<typename T>
const Signal& edm::signalslot::Signal< T >::operator= ( const Signal< T > &  )
privatedelete
template<typename T>
slot_list_type const& edm::signalslot::Signal< T >::slots ( ) const
inline

Definition at line 58 of file Signal.h.

58 {return m_slots;}
slot_list_type m_slots
Definition: Signal.h:78

Member Data Documentation

template<typename T>
slot_list_type edm::signalslot::Signal< T >::m_slots
private