Signals Library
function_type_splitter.hpp
1 #ifndef SIGNALS_DETAIL_FUNCTION_TYPE_SPLITTER_HPP
2 #define SIGNALS_DETAIL_FUNCTION_TYPE_SPLITTER_HPP
3 #include <tuple>
4 
5 namespace sig {
6 
7 template <typename Function>
9 
10 // For extracting the return and argument types from a function.
11 template <typename R, typename... Args>
12 class Function_type_splitter<R(Args...)> {
13  public:
14  static constexpr auto arity = sizeof...(Args);
15 
16  using Return_t = R;
17  using Argument_tuple_t = std::tuple<Args...>;
18 };
19 
20 } // namespace sig
21 #endif // SIGNALS_DETAIL_FUNCTION_TYPE_SPLITTER_HPP
sig::Function_type_splitter
Definition: function_type_splitter.hpp:8
sig
Definition: connection.hpp:8