39 template <
typename type,
typename type2 = std::remove_reference_t<type>>
60 template <
typename u
int_type>
62 requires ::seqan3::detail::is_uint_adaptation_v<uint_type>
64 constexpr
auto alphabet_size(uint_type
const & SEQAN3_DOXYGEN_ONLY(intgr)) noexcept
74 template <
typename u
int_type>
76 requires detail::is_uint_adaptation_v<uint_type>
78 constexpr
auto to_char(uint_type
const intgr) noexcept
81 return static_cast<char>(intgr);
83 return static_cast<char16_t
>(intgr);
85 return static_cast<char32_t
>(intgr);
93 template <
typename u
int_type>
95 requires detail::is_uint_adaptation_v<uint_type>
97 constexpr uint_type
to_rank(uint_type
const intgr) noexcept
108 template <
typename u
int_type>
110 requires detail::is_uint_adaptation_v<uint_type>
123 template <
typename u
int_type>
125 requires detail::is_uint_adaptation_v<uint_type>
127 constexpr uint_type &
assign_rank_to(uint_type
const intgr2, uint_type & intgr) noexcept
129 return intgr = intgr2;
constexpr char_type to_char(char_type const chr) noexcept
Converting char to char is no-op (it will just return the value you pass in).
Definition: char.hpp:79
Provides metaprogramming utilities for integer types.
constexpr auto to_rank(char_type const chr) noexcept
Convert char to rank by casting to an unsigned integral type of same size.
Definition: char.hpp:93
Definition: aligned_sequence_concept.hpp:35
constexpr char_type & assign_rank_to(decltype(to_rank(char_type{})) const rank, char_type &chr) noexcept
Assigning a rank to a char is the same as assigning it a numeric value.
Definition: char.hpp:123
constexpr auto alphabet_size(char_type const &chr) noexcept
Return the number of values the char type can take.
Definition: char.hpp:65
constexpr char_type & assign_char_to(char_type const chr2, char_type &chr) noexcept
Assign a char to the char type (same as calling =).
Definition: char.hpp:108
A namespace for third party and standard library specialisations of SeqAn customisation points...
Definition: char.hpp:47
The concept std::Same<T, U> is satisfied if and only if T and U denote the same type.