 |
SeqAn3
3.0.2
The Modern C++ library for sequence analysis.
|
|
Go to the documentation of this file.
31 namespace seqan3::detail
36 template <
typename type>
37 constexpr
bool is_uint_adaptation_v = std::same_as<type, uint8_t> ||
38 std::same_as<type, uint16_t> ||
39 std::same_as<type, uint32_t>;
49 template <
typename u
int_type>
51 requires seqan3::detail::is_uint_adaptation_v<uint_type>
63 static constexpr
auto to_char(uint_type
const intgr) noexcept
65 if constexpr (std::same_as<uint_type, uint8_t>)
66 return static_cast<char>(intgr);
67 else if constexpr (std::same_as<uint_type, uint16_t>)
68 return static_cast<char16_t
>(intgr);
70 return static_cast<char32_t
>(intgr);
77 static constexpr uint_type
to_rank(uint_type
const intgr) noexcept
87 static constexpr uint_type &
assign_char_to(decltype(
to_char(uint_type{}))
const chr, uint_type & intgr) noexcept
97 static constexpr uint_type &
assign_rank_to(uint_type
const intgr2, uint_type & intgr) noexcept
99 return intgr = intgr2;
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:48
static constexpr uint_type & assign_rank_to(uint_type const intgr2, uint_type &intgr) noexcept
Assign a rank to to the uint (same as calling =).
Definition: uint.hpp:97
constexpr auto to_char
Return the char representation of an alphabet object.
Definition: concept.hpp:321
static constexpr uint_type to_rank(uint_type const intgr) noexcept
Converting uint to rank is a no-op (it will just return the value you pass in).
Definition: uint.hpp:77
static constexpr auto to_char(uint_type const intgr) noexcept
Converting uint to char casts to a character type of same size.
Definition: uint.hpp:63
Provides metaprogramming utilities for integer types.
static constexpr uint_type & assign_char_to(decltype(to_char(uint_type{})) const chr, uint_type &intgr) noexcept
Assign from a character type via implicit or explicit cast.
Definition: uint.hpp:87
constexpr auto alphabet_size
A type trait that holds the size of a (semi-)alphabet.
Definition: concept.hpp:707
Core alphabet concept and free function/type trait wrappers.
A namespace for third party and standard library specialisations of SeqAn customisation points.
Definition: char.hpp:44