72 requires requires {
typename t::seqan3_required_types; }
76 using type =
typename t::seqan3_required_types;
107 requires requires {
typename t::seqan3_recursive_required_types; }
111 using type =
typename t::seqan3_recursive_required_types;
132 template <
typename type>
144 template <
typename type>
156 template <
typename type>
168 template <
typename type>
180 template <
typename type>
191template <
typename lhs_t,
typename rhs_t>
199template <
typename lhs_t,
typename rhs_t>
213template <
typename... alternative_types>
214 requires (detail::writable_constexpr_alphabet<alternative_types> && ...) && (std::regular<alternative_types> && ...)
215 && (
sizeof...(alternative_types) >= 2)
218template <
typename derived_type,
typename... component_types>
219 requires (detail::writable_constexpr_semialphabet<component_types> && ...) && (std::regular<component_types> && ...)
Core alphabet concept and free function/type trait wrappers.
Provides alphabet helper concepts.
The CRTP base for a combined alphabet that contains multiple values of different alphabets at the sam...
Definition: alphabet_tuple_base.hpp:116
A combined alphabet that can hold values of either of its alternatives..
Definition: alphabet_variant.hpp:120
seqan3::alphabet_tuple_base and its derivates model this concept.
Provides lazy template instantiation traits.
The internal SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
'Callable' helper class that is invokable by meta::invoke.Returns a std::true_type if the type is ass...
Definition: detail.hpp:154
'Callable' helper class that is invokable by meta::invoke.Returns a std::true_type if the type is con...
Definition: detail.hpp:130
'Callable' helper class that is invokable by meta::invoke.Returns a std::true_type if the T is implic...
Definition: detail.hpp:142
typename t::seqan3_recursive_required_types type
The returned type.
Definition: detail.hpp:111
Like seqan3::detail::required_types, but recursive.
Definition: detail.hpp:97
typename recursive_required_types< t >::type recursive_required_types_t
Shortcut for seqan3::detail::recursive_required_types.
Definition: detail.hpp:118
typename t::seqan3_required_types type
The returned type.
Definition: detail.hpp:76
A seqan3::type_list with types that the given type depends on.
Definition: detail.hpp:57
typename required_types< t >::type required_types_t
A seqan3::type_list with types that the given type depends on. [Trait shortcut].
Definition: detail.hpp:83
'Callable' helper class that is invokable by meta::invoke.Returns a std::true_type if the type is wea...
Definition: detail.hpp:166
Binary type trait that behaves like the seqan3::detail::weakly_equality_comparable_with concept.
Definition: detail.hpp:194
'Callable' helper class that is invokable by meta::invoke.Returns a std::true_type if the type is com...
Definition: detail.hpp:178
Binary type trait that behaves like the seqan3::detail::weakly_ordered_with concept.
Definition: detail.hpp:201
Type that contains multiple types.
Definition: type_list.hpp:29
Provides seqan3::type_list.
Provides concepts that do not have equivalents in C++20.