types/traits: add dedicated function argument counting trait

This commit is contained in:
Danny Robson 2018-03-03 13:41:35 +11:00
parent 15fad39e8a
commit 923ba6b745

View File

@ -257,6 +257,21 @@ struct func_traits : public ::detail::func_traits<
};
///////////////////////////////////////////////////////////////////////////////
template <typename FunctionT>
struct function_argument_count : public std::integral_constant<
size_t,
std::tuple_size_v<
typename func_traits<FunctionT>::argument_types
>
> { };
//-----------------------------------------------------------------------------
template <typename FunctionT>
constexpr auto function_argument_count_v = function_argument_count<FunctionT>::value;
///////////////////////////////////////////////////////////////////////////////
template <std::size_t N, typename FuncT>