18namespace seqan3::detail
36concept alphabet_tuple_like =
requires {
requires t::seqan3_alphabet_tuple_like; };
56 using type = type_list<>;
69 requires requires {
typename t::seqan3_required_types; }
70struct required_types<t>
73 using type =
typename t::seqan3_required_types;
80using required_types_t =
typename required_types<t>::type;
93struct recursive_required_types
96 using type = type_list<>;
104 requires requires {
typename t::seqan3_recursive_required_types; }
105struct recursive_required_types<t>
108 using type =
typename t::seqan3_recursive_required_types;
115using recursive_required_types_t =
typename recursive_required_types<t>::type;
126struct constructible_from
129 template <
typename type>
138struct implicitly_convertible_from
141 template <
typename type>
150struct assignable_from
153 template <
typename type>
162struct weakly_equality_comparable_with_
165 template <
typename type>
174struct weakly_ordered_with_
177 template <
typename type>
188template <
typename lhs_t,
typename rhs_t>
189struct weakly_equality_comparable_with_trait :
196template <
typename lhs_t,
typename rhs_t>
210template <
typename... alternative_types>
211 requires (detail::writable_constexpr_alphabet<alternative_types> && ...) && (std::regular<alternative_types> && ...)
212 && (
sizeof...(alternative_types) >= 2)
213class alphabet_variant;
215template <
typename derived_type,
typename... component_types>
216 requires (detail::writable_constexpr_semialphabet<component_types> && ...) && (std::regular<component_types> && ...)
217class alphabet_tuple_base;
Core alphabet concept and free function/type trait wrappers.
Provides alphabet helper concepts.
Provides lazy template instantiation traits.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
Provides seqan3::type_list.
Provides concepts that do not have equivalents in C++20.