28namespace seqan3::detail
33template <
typename type>
34constexpr bool is_uint_adaptation_v =
35 std::same_as<type, uint8_t> || std::same_as<type, uint16_t> || std::same_as<type, uint32_t>;
47template <
typename u
int_type>
48 requires seqan3::detail::is_uint_adaptation_v<uint_type>
64 static constexpr auto to_char(uint_type
const uint_v)
noexcept
66 if constexpr (std::same_as<uint_type, uint8_t>)
67 return static_cast<char>(uint_v);
68 else if constexpr (std::same_as<uint_type, uint16_t>)
69 return static_cast<char16_t>(uint_v);
71 return static_cast<char32_t>(uint_v);
64 static constexpr auto to_char(uint_type
const uint_v)
noexcept {
…}
80 static constexpr uint_type
to_rank(uint_type
const uint_v)
noexcept
80 static constexpr uint_type
to_rank(uint_type
const uint_v)
noexcept {
…}
92 static constexpr uint_type &
assign_char_to(
decltype(
to_char(uint_type{}))
const chr, uint_type & uint_v)
noexcept
92 static constexpr uint_type &
assign_char_to(
decltype(
to_char(uint_type{}))
const chr, uint_type & uint_v)
noexcept {
…}
104 static constexpr uint_type &
assign_rank_to(uint_type
const uint2_v, uint_type & uint_v)
noexcept
106 return uint_v = uint2_v;
104 static constexpr uint_type &
assign_rank_to(uint_type
const uint2_v, uint_type & uint_v)
noexcept {
…}
Core alphabet concept and free function/type trait wrappers.
constexpr auto to_char
Return the char representation of an alphabet object.
Definition alphabet/concept.hpp:381
constexpr auto alphabet_size
A type trait that holds the size of a (semi-)alphabet.
Definition alphabet/concept.hpp:834
Provides metaprogramming utilities for integer types.
A namespace for third party and standard library specialisations of SeqAn customisation points.
Definition char.hpp:40
static constexpr uint_type & assign_rank_to(uint_type const uint2_v, uint_type &uint_v) noexcept
Assign a rank to the uint (same as calling =).
Definition uint.hpp:104
static constexpr auto to_char(uint_type const uint_v) noexcept
Converting uint to char casts to a character type of same size.
Definition uint.hpp:64
static constexpr uint_type to_rank(uint_type const uint_v) noexcept
Converting uint to rank is a no-op (it will just return the value you pass in).
Definition uint.hpp:80
static constexpr uint_type & assign_char_to(decltype(to_char(uint_type{})) const chr, uint_type &uint_v) noexcept
Assign from a character type via implicit or explicit cast.
Definition uint.hpp:92
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition alphabet/concept.hpp:46