20namespace seqan3::detail
38SEQAN3_CONCEPT alphabet_tuple_like =
requires
40 requires t::seqan3_alphabet_tuple_like;
61 using type = type_list<>;
75 requires requires {
typename t::seqan3_required_types; }
77struct required_types<t>
80 using type =
typename t::seqan3_required_types;
87using required_types_t =
typename required_types<t>::type;
100struct recursive_required_types
103 using type = type_list<>;
114 typename t::seqan3_recursive_required_types;
117struct recursive_required_types<t>
120 using type =
typename t::seqan3_recursive_required_types;
127using recursive_required_types_t =
typename recursive_required_types<t>::type;
137struct constructible_from
140 template <
typename type>
148struct implicitly_convertible_from
151 template <
typename type>
159struct assignable_from
162 template <
typename type>
170struct weakly_equality_comparable_with_
173 template <
typename type>
181struct weakly_ordered_with_
184 template <
typename type>
198template <
typename ...alternative_types>
200 requires (detail::writable_constexpr_alphabet<alternative_types> && ...) &&
201 (std::regular<alternative_types> && ...) &&
202 (
sizeof...(alternative_types) >= 2)
204class alphabet_variant;
206template <
typename derived_type,
207 typename ...component_types>
209 requires (detail::writable_constexpr_semialphabet<component_types> && ...) &&
210 (std::regular<component_types> && ...)
212class alphabet_tuple_base;
Core alphabet concept and free function/type trait wrappers.
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
Provides lazy template instantiation traits.
The main SeqAn3 namespace.
Definition: cigar_operation_table.hpp:2
Provides seqan3::type_list.