57 #include <meta/meta.hpp> 68 using uint_adaptations = meta::list<uint8_t,
72 using uint_adaptations_char_types = meta::list<char,
77 template <
typename type_in_list>
78 requires meta::in<uint_adaptations, type_in_list>::value
79 struct is_uint_adaptation<type_in_list> :
101 template <
typename u
int_type>
103 requires detail::is_uint_adaptation_v<uint_type>
108 using type = meta::at<detail::uint_adaptations_char_types,
109 meta::find_index<detail::uint_adaptations, uint_type>>;
117 template <
typename u
int_type>
119 requires detail::is_uint_adaptation_v<uint_type>
136 template <
typename u
int_type>
138 requires detail::is_uint_adaptation_v<uint_type>
143 using type = detail::min_viable_uint_t<static_cast<uint64_t>(std::numeric_limits<uint_type>::max()) + 1 -
144 std::numeric_limits<uint_type>::lowest()>;
146 static constexpr type value =
147 static_cast<type
>(std::numeric_limits<uint_type>::max()) + 1 - std::numeric_limits<uint_type>::lowest();
165 template <
typename u
int_type>
167 requires detail::is_uint_adaptation_v<uint_type>
177 template <
typename u
int_type>
179 requires detail::is_uint_adaptation_v<uint_type>
190 template <
typename u
int_type>
192 requires detail::is_uint_adaptation_v<uint_type>
206 template <
typename u
int_type>
208 requires detail::is_uint_adaptation_v<std::remove_reference_t<uint_type>>
210 return std::move(intgr = chr);
219 template <
typename u
int_type>
221 requires detail::is_uint_adaptation_v<uint_type>
223 return intgr = intgr2;
235 template <
typename u
int_type>
237 requires detail::is_uint_adaptation_v<std::remove_reference_t<uint_type>>
239 return std::move(intgr = intgr2);
meta::at< detail::uint_adaptations_char_types, meta::find_index< detail::uint_adaptations, uint_type > > type
The character type of the same size as uint_type.
Definition: uint.hpp:109
The rank_type of the semi_alphabet. [type metafunction base template].
Definition: concept_pre.hpp:80
typename underlying_rank< semi_alphabet_type >::type underlying_rank_t
The rank_type of the semi_alphabet. [type metafunction shortcut].
Definition: concept_pre.hpp:88
Contains metaprogramming utilities for integer types.
constexpr uint_type && assign_char(uint_type &&intgr, underlying_char_t< uint_type > const chr) requires detail
Assign from a character type via implicit or explicit cast.
Definition: uint.hpp:207
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:58
seqan3::alphabet_concept metafunction base classes.
detail::min_viable_uint_t< static_cast< uint64_t >(std::numeric_limits< uint_type >::max())+1 - std::numeric_limits< uint_type >::lowest()> type
Smallest unsigned integral type that can hold value;.
Definition: uint.hpp:144
uint_type type
The same as uint_type.
Definition: uint.hpp:124
constexpr uint_type & assign_char(uint_type &intgr, underlying_char_t< uint_type > const chr) requires detail
Assign from a character type via implicit or explicit cast.
Definition: uint.hpp:191
The size of the alphabet. [value metafunction base template].
Definition: concept_pre.hpp:104
Definition: aligned_sequence_concept.hpp:288
constexpr underlying_char_t< uint_type > to_char(uint_type const intgr) requires detail
Converting uint to char casts to a character type of same size.
Definition: uint.hpp:166
The char_type of the alphabet. [type metafunction base template].
Definition: concept_pre.hpp:164
typename underlying_char< alphabet_type >::type underlying_char_t
The char_type of the alphabet. [type metafunction shortcut].
Definition: concept_pre.hpp:172
constexpr uint_type & assign_rank(uint_type &intgr, underlying_rank_t< uint_type > const intgr2) requires detail
Assign a rank to to the uint (same as calling =).
Definition: uint.hpp:220
constexpr uint_type && assign_rank(uint_type &&intgr, underlying_rank_t< uint_type > const intgr2) requires detail
Assign a rank to to the uint (same as calling =).
Definition: uint.hpp:236
constexpr underlying_rank_t< uint_type > to_rank(uint_type const intgr) requires detail
Converting uint to rank is a no-op (it will just return the value you pass in).
Definition: uint.hpp:178