22namespace seqan3::detail
26template <
typename type_list_t>
27struct type_list_expander;
50template <
template <
typename ...>
typename type_list_t,
typename ...args_t>
51struct type_list_expander<type_list_t<args_t...>>
63 template <
typename fn_t>
65 requires std::invocable<fn_t, std::type_identity<args_t>...>
111template <
typename type_list_t,
typename unary_predicate_t>
112[[nodiscard]]
constexpr bool all_of(unary_predicate_t && fn)
114 requires template_specialisation_of<type_list_t, seqan3::type_list>
117 return type_list_expander<type_list_t>::invoke_on_type_identities([&] (
auto && ...type_identities)
161template <
typename type_list_t,
typename unary_function_t>
163 requires template_specialisation_of<type_list_t, seqan3::type_list>
165constexpr void for_each(unary_function_t && fn)
167 type_list_expander<type_list_t>::invoke_on_type_identities([&] (
auto && ...type_identities)
The <concepts> header from C++20's standard library.
Provides seqan3::type_list.
Provides algorithms for meta programming, parameter packs and seqan3::type_list.
The <type_traits> header from C++20's standard library.