23 template <
typename function_t>
24 struct function_traits;
44 template <
typename return_t,
typename... args_t>
45 struct function_traits<
std::function<return_t(args_t...)>>
48 static constexpr
size_t argument_count =
sizeof...(args_t);
56 template <
size_t index>
58 using argument_type_at = pack_traits::at<index, args_t...>;
63 template <
typename function_t>
69 struct function_traits<function_t> : function_traits<decltype(std::function{std::declval<function_t>()})>
requires requires
The rank_type of the semi-alphabet; defined as the return type of seqan3::to_rank....
Definition: alphabet/concept.hpp:164
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
SeqAn specific customisations in the standard namespace.
requires(index< argument_count) using argument_type_at
The argument type at the given index.
return_t result_type
The return type of the function target.
Definition: function_traits.hpp:51
Provides various traits for template packs.