19namespace seqan3::detail
23template <
typename type_list_t>
24struct type_list_expander;
47template <
template <
typename...>
typename type_list_t,
typename... args_t>
48struct type_list_expander<type_list_t<args_t...>>
60 template <
typename fn_t>
61 requires std::invocable<fn_t, std::type_identity<args_t>...>
106template <
typename type_list_t,
typename unary_predicate_t>
107[[nodiscard]]
constexpr bool all_of(unary_predicate_t && fn)
108 requires template_specialisation_of<type_list_t, seqan3::type_list>
110 return type_list_expander<type_list_t>::invoke_on_type_identities(
111 [&](
auto &&... type_identities)
155template <
typename type_list_t,
typename unary_function_t>
156 requires template_specialisation_of<type_list_t, seqan3::type_list>
157constexpr void for_each(unary_function_t && fn)
159 type_list_expander<type_list_t>::invoke_on_type_identities(
160 [&](
auto &&... type_identities)
Provides seqan3::type_list.
Provides algorithms for meta programming, parameter packs and seqan3::type_list.