61 template <
typename alphabet_type>
71 template <
typename alphabet_with_member_type>
73 requires requires () {
typename alphabet_with_member_type::phred_type; }
78 using type =
typename alphabet_with_member_type::phred_type;
87 template <
typename alphabet_type>
98 template <
typename alphabet_type>
100 requires requires (alphabet_type v) { { v.assign_phred(
'c') }; }
102 constexpr alphabet_type &
assign_phred(alphabet_type & chr,
char const in)
104 return chr.assign_phred(in);
107 template <
typename alphabet_type>
109 requires requires (alphabet_type v) { { v.assign_phred(
'c') }; }
111 constexpr alphabet_type
assign_phred(alphabet_type && chr,
char const in)
113 return chr.assign_phred(in);
123 template <
typename alphabet_type>
125 requires requires (alphabet_type v) { { v.to_phred() }; }
129 return chr.to_phred();
157 {
assign_phred(quality,
typename q::rank_type{}) } -> q;
158 {
to_phred(quality) } ->
const typename q::phred_type;
constexpr underlying_phred_t< alphabet_type > to_phred(alphabet_type const &chr)
The public getter function for the phred representation of a score.
Definition: concept.hpp:127
constexpr alphabet_type & assign_phred(alphabet_type &chr, char const in)
The public setter function of a phred score.
Definition: concept.hpp:102
The generic alphabet concept that covers most data types used in ranges.This is the core alphabet con...
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:58
typename underlying_phred< alphabet_type >::type underlying_phred_t
The internal phred type.
Definition: concept.hpp:88
A concept that indicates whether an alphabet represents quality scores.In addition to the requirement...
Definition: concept.hpp:62
Core alphabet concept and free function/metafunction wrappers.
typename alphabet_with_member_type::phred_type type
The underlying phred data type.
Definition: concept.hpp:78