7#include "webcface/common/webcface-config.h"
14 return &T::operator();
16template <
typename Ret,
typename... Args>
22template <
typename Ret,
typename... Args>
25 using ArgsTuple = std::tuple<std::decay_t<Args>...>;
26 static constexpr std::size_t ArgsSize = std::tuple_size_v<ArgsTuple>;
27 template <std::
size_t Index>
28 using ArgsAt = std::tuple_element_t<Index, ArgsTuple>;
30template <
typename Ret,
typename T,
typename... Args>
33template <
typename Ret,
typename T,
typename... Args>
36template <
typename Ret,
typename... Args>
49 std::declval<std::decay_t<T>>()))>;
constexpr auto getInvokeSignature(T &&) -> decltype(&T::operator())
Definition func_trait.h:13
Ret ReturnType
Definition func_trait.h:24
std::tuple_element_t< Index, ArgsTuple > ArgsAt
Definition func_trait.h:28
std::tuple< std::decay_t< Args >... > ArgsTuple
Definition func_trait.h:25
Definition func_trait.h:21
#define WEBCFACE_NS_END
Definition webcface-config.h:118
#define WEBCFACE_NS_BEGIN
Definition webcface-config.h:117