20template <
typename function_t>
21struct function_traits;
41template <
typename return_t,
typename... args_t>
42struct function_traits<
std::function<return_t(args_t...)>>
45 static constexpr size_t argument_count =
sizeof...(args_t);
53 template <
size_t index>
54 requires (index < argument_count)
60template <
typename function_t>
61 requires requires (function_t fn) {
66struct function_traits<function_t> : function_traits<decltype(std::function{std::declval<function_t>()})>
typename decltype(detail::at< idx, pack_t... >())::type at
Return the type at given index from the type pack.
Definition type_pack/traits.hpp:245
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
SeqAn specific customisations in the standard namespace.
return_t result_type
The return type of the function target.
Definition function_traits.hpp:48
pack_traits::at< index, args_t... > argument_type_at
The argument type at the given index.
Definition function_traits.hpp:55
Provides various traits for template packs.