13#include <rpp/utils/tuple.hpp>
19 template<
typename T,
typename =
void>
29 template<
class T,
class R,
class... Args>
34 template<
class T,
class R,
class... Args>
39 template<
class R,
class... Args>
48 template<is_not_
template_callable T>
54 template<
class T,
class R,
class... Args>
60 template<
class T,
class R,
class... Args>
73 template<
class R,
class... Args>
79 template<std::
size_t I = 0>
80 requires (
sizeof...(Args) > I)
81 using argument =
typename arguments::template type_at_index_t<I>;
84 template<
typename T, std::
size_t I = 0>
87 template<
typename Fn,
typename... Args>
88 using decayed_invoke_result_t = std::decay_t<std::invoke_result_t<Fn, Args...>>;
Definition function_traits.hpp:45
Definition function_traits.hpp:50
Definition function_traits.hpp:21