90 constexpr dot_bracket3(dot_bracket3
const &) =
default;
91 constexpr dot_bracket3(dot_bracket3 &&) =
default;
92 constexpr dot_bracket3 & operator=(dot_bracket3
const &) =
default;
93 constexpr dot_bracket3 & operator=(dot_bracket3 &&) =
default;
94 ~dot_bracket3() =
default;
101 static const dot_bracket3 UNPAIRED;
103 static const dot_bracket3 PAIR_OPEN;
104 static const dot_bracket3 PAIR_CLOSE;
105 static const dot_bracket3 UNKNOWN;
116 return *
this == PAIR_OPEN;
124 return *
this == PAIR_CLOSE;
132 return *
this == UNPAIRED;
154 static constexpr std::array<rank_type, 256> char_to_rank
158 std::array<rank_type, 256> rank_table{};
177 constexpr
dot_bracket3 dot_bracket3::UNKNOWN = dot_bracket3::UNPAIRED;
200 inline std::vector<dot_bracket3>
operator""_db3(
const char * str, std::size_t len)
202 std::vector<dot_bracket3> vec;
205 for (
size_t idx = 0u; idx < len; ++idx)
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:89
char char_type
The type of the alphabet when converted to char (e.g. via to_char()).
Definition: alphabet_base.hpp:87
constexpr bool is_pair_open() const noexcept
Check whether the character represents a rightward interaction in an RNA structure.
Definition: dot_bracket3.hpp:114
Provides seqan3::rna_structure_concept.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:58
The three letter RNA structure alphabet of the characters ".()".
Definition: dot_bracket3.hpp:76
static detail::min_viable_uint_t< size > constexpr value_size
The size of the alphabet, i.e. the number of different values it can take.
Definition: alphabet_base.hpp:198
Provides seqan3::alphabet_base.
Metafunction that indicates to what extent an alphabet can handle pseudoknots. [value metafunction ba...
Definition: concept_pre.hpp:228
constexpr derived_type & assign_char(std::conditional_t< std::Same< char_type, void >, char, char_type > const c) noexcept
Assign from a character.
Definition: alphabet_base.hpp:165
constexpr bool is_pair_close() const noexcept
Check whether the character represents a leftward interaction in an RNA structure.
Definition: dot_bracket3.hpp:122
Provides utilities for modifying characters.
A CRTP-base that makes defining a custom alphabet easier.
Definition: alphabet_base.hpp:77
constexpr bool is_unpaired() const noexcept
Check whether the character represents an unpaired position in an RNA structure.
Definition: dot_bracket3.hpp:130