CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions | Private Attributes

edm::signalslot::Signal< T > Class Template Reference

#include <Signal.h>

List of all members.

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 ()
slot_list_type const & slots () const
 ~Signal ()

Private Member Functions

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

Private Attributes

slot_list_type m_slots

Detailed Description

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

Definition at line 36 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 41 of file Signal.h.

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

Definition at line 40 of file Signal.h.


Constructor & Destructor Documentation

template<typename T>
edm::signalslot::Signal< T >::Signal ( )
template<typename T>
edm::signalslot::Signal< T >::~Signal ( )
template<typename T>
edm::signalslot::Signal< T >::Signal ( const Signal< T > &  ) [private]

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]
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::emit ( Args &&...  args) const [inline]

Definition at line 48 of file Signal.h.

Referenced by edm::signalslot::Signal< void(const std::string &, const std::string &)>::operator()().

                                      {
        for(auto& slot:m_slots) {
          slot(std::forward<Args>(args)...);
        }
      }
template<typename T>
template<typename... Args>
void edm::signalslot::Signal< T >::operator() ( Args &&...  args) const [inline]

Definition at line 55 of file Signal.h.

                                            {
        emit(std::forward<Args>(args)...);
      }
template<typename T>
const Signal& edm::signalslot::Signal< T >::operator= ( const Signal< T > &  ) [private]
template<typename T>
slot_list_type const& edm::signalslot::Signal< T >::slots ( ) const [inline]

Definition at line 59 of file Signal.h.

{return m_slots;}

Member Data Documentation

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