20#include <bio/alphabet/detail/to_lower.hpp>
60 constexpr aa27() noexcept = default;
61 constexpr
aa27(
aa27 const &) noexcept = default;
63 constexpr
aa27 & operator=(
aa27 const &) noexcept = default;
64 constexpr
aa27 & operator=(
aa27 &&) noexcept = default;
65 ~
aa27() noexcept = default;
72 static constexpr
std::array<
char_type,
alphabet_size>
rank_to_char{
'A',
'B',
'C',
'D',
'E',
'F',
'G',
'H',
'I',
73 'J',
'K',
'L',
'M',
'N',
'O',
'P',
'Q',
'R',
74 'S',
'T',
'U',
'V',
'W',
'X',
'Y',
'Z',
'*'};
104inline namespace literals
115consteval aa27 operator""_aa27(
char const c)
117 if (!char_is_valid_for<aa27>(c))
132template <meta::detail::literal_buffer_
string str>
135 return detail::string_literal<str, aa27>();
Provides bio::alphabet::aminoacid.
Provides bio::alphabet::aminoacid_base.
The twenty-seven letter amino acid alphabet..
Definition: aa27.hpp:45
static constexpr std::array< char_type, alphabet_size > rank_to_char
Value to char conversion table.
Definition: aa27.hpp:72
constexpr aa27() noexcept=default
Defaulted.
static constexpr std::array< rank_type, 256 > char_to_rank
Char to value conversion table.
Definition: aa27.hpp:77
A CRTP-base that refines bio::alphabet::base and is used by the amino acids.
Definition: aminoacid_base.hpp:31
static constexpr size_t alphabet_size
The size of the alphabet, i.e. the number of different values it can take.
Definition: base.hpp:177
constexpr derived_type & assign_char(char_type const c) noexcept
Assign from a character, implicitly converts invalid characters.
Definition: base.hpp:145
The alphabet module's namespace.
Definition: aa10li.hpp:23