 |
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_char_adaptation_v = std::same_as<type, char> ||
38 std::same_as<type, char16_t> ||
39 std::same_as<type, char32_t> ||
40 std::same_as<type, wchar_t>;
50 template <
typename char_type>
52 requires detail::is_char_adaptation_v<char_type>
64 static constexpr char_type
to_char(char_type
const chr) noexcept
73 static constexpr
auto to_rank(char_type
const chr) noexcept
83 static constexpr char_type &
assign_char_to(char_type
const chr2, char_type & chr) noexcept
94 char_type & chr) noexcept
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:48
constexpr auto to_rank
Return the rank representation of a (semi-)alphabet object.
Definition: concept.hpp:143
static constexpr char_type & assign_rank_to(decltype(alphabet::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:93
static 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:64
Provides metaprogramming utilities for integer types.
static 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:83
constexpr auto alphabet_size
A type trait that holds the size of a (semi-)alphabet.
Definition: concept.hpp:707
static 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:73
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