45class rna4 :
public nucleotide_base<rna4, 4>
49 using base_t = nucleotide_base<rna4, 4>;
55 friend base_t::base_t;
62 constexpr rna4() noexcept = default;
63 constexpr
rna4(
rna4 const &) noexcept = default;
65 constexpr
rna4 & operator=(
rna4 const &) noexcept = default;
66 constexpr
rna4 & operator=(
rna4 &&) noexcept = default;
67 ~
rna4() noexcept = default;
79 constexpr
rna4(t const & r) noexcept
92 return dna4::rank_complement(rank);
98 return rank_to_char_table[rank];
104 return dna4::char_to_rank(chr);
117using rna4_vector = std::vector<rna4>;
139constexpr rna4
operator""_rna4(
char const c)
noexcept
141 return rna4{}.assign_char(c);
158 for (
size_t i = 0; i < n; ++i)
constexpr derived_type & assign_char(char_type const chr) noexcept
Assign from a character, implicitly converts invalid characters.
Definition alphabet_base.hpp:160
detail::min_viable_uint_t< size - 1 > rank_type
The type of the alphabet when represented as a number (e.g. via to_rank()).
Definition alphabet_base.hpp:77
std::conditional_t< std::same_as< char_t, void >, char, char_t > char_type
The char representation; conditional needed to make semi alphabet definitions legal.
Definition alphabet_base.hpp:69
constexpr derived_type & assign_rank(rank_type const c) noexcept
Assign from a numeric value.
Definition alphabet_base.hpp:184
The four letter DNA alphabet of A,C,G,T.
Definition dna4.hpp:50
std::vector< rna4 > rna4_vector
Alias for a std::vector of seqan3::rna4.
Definition rna4.hpp:144
constexpr rna4() noexcept=default
Defaulted.
Provides seqan3::dna4, container aliases and string literals.
constexpr auto alphabet_size
A type trait that holds the size of a (semi-)alphabet.
Definition alphabet/concept.hpp:834
The SeqAn namespace for literals.
The main SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
SeqAn specific customisations in the standard namespace.
Provides seqan3::nucleotide_base.