2#include "../msgpack.hpp"
9template <
typename R,
typename... Vs>
struct func_traits<R (*)(Vs...)> {
10 typedef std::tuple<typename std::decay<Vs>::type...> Args;
13 MSGPACK_FIELDS(args, ret);
17template <
typename R,
typename... Vs>
struct func_traits<R (&)(Vs...)> {
18 typedef std::tuple<typename std::decay<Vs>::type...> Args;
21 MSGPACK_FIELDS(args, ret);
26template <
typename R,
typename T,
typename... Vs>
struct func_traits<R (T::*)(Vs...) const> {
27 typedef std::tuple<typename std::decay<Vs>::type...> Args;
30 MSGPACK_FIELDS(args, ret);
37 requires() {
typename std::enable_if_t<std::is_member_function_pointer_v<
decltype(&T::operator())>,
void>; };
40template <LambdaType T>
constexpr auto get_func_traits()
47template <
typename T>
constexpr auto get_func_traits()
Definition: func_traits.hpp:36
Definition: func_traits.hpp:6