40 requires t::seqan3_alphabet_tuple_like;
75 requires requires {
typename t::seqan3_required_types; }
80 using type =
typename t::seqan3_required_types;
110 template <
typename t>
114 typename t::seqan3_recursive_required_types;
120 using type =
typename t::seqan3_recursive_required_types;
126 template <
typename t>
136 template <
typename T>
140 template <
typename type>
147 template <
typename T>
151 template <
typename type>
158 template <
typename T>
162 template <
typename type>
169 template <
typename T>
173 template <
typename type>
180 template <
typename T>
184 template <
typename type>
198 template <
typename ...alternative_types>
200 requires (detail::writable_constexpr_alphabet<alternative_types> && ...) &&
201 (std::regular<alternative_types> && ...) &&
202 (
sizeof...(alternative_types) >= 2)
207 template <
typename derived_type,
208 typename ...component_types>
210 requires (detail::writable_constexpr_semialphabet<component_types> && ...) &&
211 (std::regular<component_types> && ...)
Core alphabet concept and free function/type trait wrappers.
The CRTP base for a combined alphabet that contains multiple values of different alphabets at the sam...
Definition: alphabet_tuple_base.hpp:124
A combined alphabet that can hold values of either of its alternatives.
Definition: alphabet_variant.hpp:131
Provides concepts for core language types and relations that don't have concepts in C++20 (yet).
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 an std::true_type if the type is a...
Definition: detail.hpp:160
'Callable' helper class that is invokable by meta::invoke. Returns an std::true_type if the type is c...
Definition: detail.hpp:138
'Callable' helper class that is invokable by meta::invoke. Returns an std::true_type if the T is impl...
Definition: detail.hpp:149
typename t::seqan3_recursive_required_types type
The returned type.
Definition: detail.hpp:120
Like seqan3::detail::required_types, but recursive.
Definition: detail.hpp:101
typename recursive_required_types< t >::type recursive_required_types_t
Shortcut for seqan3::detail::recursive_required_types.
Definition: detail.hpp:127
typename t::seqan3_required_types type
The returned type.
Definition: detail.hpp:80
A seqan3::type_list with types that the given type depends on.
Definition: detail.hpp:59
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:87
'Callable' helper class that is invokable by meta::invoke. Returns an std::true_type if the type is w...
Definition: detail.hpp:171
'Callable' helper class that is invokable by meta::invoke. Returns an std::true_type if the type is c...
Definition: detail.hpp:182
Type that contains multiple types.
Definition: type_list.hpp:29
Provides seqan3::type_list.