12 #ifndef ROOT_TVirtualQConnection 13 #define ROOT_TVirtualQConnection 35 virtual void SetArg(
const char *) = 0;
39 template <class T, class = typename std::enable_if<std::is_integral<T>::value>
::type>
42 if (std::is_signed<T>::value)
50 template <class T, class = typename std::enable_if<std::is_array<T>::value>
::type>
53 constexpr
size_t size =
sizeof(val)/
sizeof(val[0]);
54 static_assert(size > 0,
"The array must have at least one element!");
59 template <
typename T,
typename... Ts>
void SetArgsImpl(
const T& arg,
const Ts&... tail)
69 template <
typename...
T>
void SetArgs(
const T&... args)
76 if (!
sizeof...(args))
return;
void SetArgsImpl(const T &arg, const Ts &... tail)
void SetArg(const T &val)
virtual void SetArg(Long_t)=0
void SetArgs(const T &... args)
Unpacks the template parameter type and sets arguments of integral and array (scalar) type...
virtual CallFunc_t * GetSlotCallFunc() const =0
void SetArg(const T *val)
unsigned long long ULong64_t
Mediates the link between the signal and the slot.
virtual void SendSignal()=0
void SetArg(const void *ptr)
void SetArgs(const Long_t *argArray, Int_t nargs=-1)
Sets an array of arguments passed as a pointer type and size.