Public Types | Public Member Functions | Private Attributes | List of all members
art::GlobalSignal< SRTYPE, ResultType(Args...)> Class Template Reference

#include "/cvmfs/nova.opensciencegrid.org/externals/art/v2_13_00/source/art/Framework/Services/Registry/GlobalSignal.h"

Public Types

using slot_type = std::function< ResultType(Args...)>
 
using result_type = ResultType
 

Public Member Functions

void watch (std::function< ResultType(Args...)> slot)
 
template<typename T >
void watch (ResultType(T::*slot)(Args...), T &t)
 
template<typename T >
void watch (T *t, ResultType(T::*slot)(Args...))
 
template<typename T >
void watch (ResultType(T::*slot)(Args...) const, T const &t)
 
template<typename T >
void watch (T const *t, ResultType(T::*slot)(Args...) const)
 
void invoke (Args &&...args) const
 
void clear ()
 

Private Attributes

std::deque< slot_typesignal_
 

Detailed Description

template<detail::SignalResponseType SRTYPE, typename ResultType, typename... Args>
class art::GlobalSignal< SRTYPE, ResultType(Args...)>

Definition at line 32 of file GlobalSignal.h.

Member Typedef Documentation

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
using art::GlobalSignal< SRTYPE, ResultType(Args...)>::result_type = ResultType

Definition at line 36 of file GlobalSignal.h.

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
using art::GlobalSignal< SRTYPE, ResultType(Args...)>::slot_type = std::function<ResultType(Args...)>

Definition at line 35 of file GlobalSignal.h.

Member Function Documentation

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::clear ( )

Definition at line 139 of file GlobalSignal.h.

140  {
141  signal_.clear();
142  }
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::invoke ( Args &&...  args) const

Definition at line 128 of file GlobalSignal.h.

References make_syst_table_plots::args, and MakeMiniprodValidationCuts::f.

129  {
130  for (auto f : signal_) {
131  f(std::forward<Args>(args)...);
132  }
133  }
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( std::function< ResultType(Args...)>  slot)

Definition at line 66 of file GlobalSignal.h.

68  {
69  detail::connect_to_signal<SRTYPE>(signal_, slot);
70  }
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
template<typename T >
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( ResultType(T::*)(Args...)  slot,
T t 
)

Definition at line 78 of file GlobalSignal.h.

References art::detail::makeWatchFunc().

81  {
83  }
std::function< ResultType(Args...)> makeWatchFunc(ResultType(T::*slot)(Args...), T &t)
Definition: makeWatchFunc.h:16
void watch(std::function< ResultType(Args...)> slot)
Definition: GlobalSignal.h:66
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
template<typename T >
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( T t,
ResultType(T::*)(Args...)  slot 
)

Definition at line 91 of file GlobalSignal.h.

References art::detail::makeWatchFunc().

94  {
95  watch(detail::makeWatchFunc(slot, *t));
96  }
std::function< ResultType(Args...)> makeWatchFunc(ResultType(T::*slot)(Args...), T &t)
Definition: makeWatchFunc.h:16
void watch(std::function< ResultType(Args...)> slot)
Definition: GlobalSignal.h:66
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
template<typename T >
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( ResultType(T::*)(Args...) const  slot,
T const &  t 
)

Definition at line 104 of file GlobalSignal.h.

References art::detail::makeWatchFunc().

107  {
108  watch(detail::makeWatchFunc(slot, t));
109  }
std::function< ResultType(Args...)> makeWatchFunc(ResultType(T::*slot)(Args...), T &t)
Definition: makeWatchFunc.h:16
void watch(std::function< ResultType(Args...)> slot)
Definition: GlobalSignal.h:66
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
template<typename T >
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( T const *  t,
ResultType(T::*)(Args...) const  slot 
)

Definition at line 117 of file GlobalSignal.h.

References art::detail::makeWatchFunc().

120  {
121  watch(detail::makeWatchFunc(slot, *t));
122  }
std::function< ResultType(Args...)> makeWatchFunc(ResultType(T::*slot)(Args...), T &t)
Definition: makeWatchFunc.h:16
void watch(std::function< ResultType(Args...)> slot)
Definition: GlobalSignal.h:66

Member Data Documentation

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
std::deque<slot_type> art::GlobalSignal< SRTYPE, ResultType(Args...)>::signal_
private

Definition at line 58 of file GlobalSignal.h.


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