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

#include <GlobalSignal.h>

Public Types

using slot_type = std::function< ResultType(Args...)>
 
using result_type = ResultType
 
template<std::size_t I>
using slot_argument_type = std::tuple_element_t< I, tuple_type >
 

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 const &...args) const
 

Private Types

using tuple_type = std::tuple< Args... >
 

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 30 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 35 of file GlobalSignal.h.

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
template<std::size_t I>
using art::GlobalSignal< SRTYPE, ResultType(Args...)>::slot_argument_type = std::tuple_element_t<I, tuple_type>

Definition at line 37 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 34 of file GlobalSignal.h.

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
using art::GlobalSignal< SRTYPE, ResultType(Args...)>::tuple_type = std::tuple<Args...>
private

Definition at line 31 of file GlobalSignal.h.

Member Function Documentation

template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::invoke ( Args const &...  args) const

Definition at line 127 of file GlobalSignal.h.

128  {
129  for (auto f : signal_) {
130  f(args...);
131  }
132  }
static QCString args
Definition: declinfo.cpp:674
template<detail::SignalResponseType SRTYPE, typename ResultType , typename... Args>
void art::GlobalSignal< SRTYPE, ResultType(Args...)>::watch ( std::function< ResultType(Args...)>  slot)

Definition at line 65 of file GlobalSignal.h.

67  {
68  detail::connect_to_signal<SRTYPE>(signal_, slot);
69  }
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 77 of file GlobalSignal.h.

80  {
82  }
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:65
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 90 of file GlobalSignal.h.

93  {
94  watch(detail::makeWatchFunc(slot, *t));
95  }
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:65
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 103 of file GlobalSignal.h.

106  {
107  watch(detail::makeWatchFunc(slot, t));
108  }
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:65
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 116 of file GlobalSignal.h.

119  {
120  watch(detail::makeWatchFunc(slot, *t));
121  }
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:65

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 57 of file GlobalSignal.h.


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