22 namespace seqan3::detail::adl_only
26 template <
typename ...args_t>
31 struct to_phred_cpo :
public detail::customisation_point_object<to_phred_cpo, 2>
34 using base_t = detail::customisation_point_object<to_phred_cpo, 2>;
42 template <
typename alphabet_t>
52 template <
typename alphabet_t>
62 template <
typename alphabet_t>
65 std::forward<alphabet_t>(
alphabet).to_phred()
109 inline constexpr
auto to_phred = detail::adl_only::to_phred_cpo{};
117 template <
typename alphabet_type>
129 namespace seqan3::detail::adl_only
133 template <
typename ...args_t>
138 struct assign_phred_to_cpo :
public detail::customisation_point_object<assign_phred_to_cpo, 2>
141 using base_t = detail::customisation_point_object<assign_phred_to_cpo, 2>;
143 using base_t::base_t;
158 template <
typename alphabet_t>
180 template <
typename alphabet_t>
198 template <
typename alphabet_t>
203 static_cast<alphabet_t
>(
alphabet.assign_phred(phred))
249 inline constexpr
auto assign_phred_to = detail::adl_only::assign_phred_to_cpo{};
291 template <
typename t>
331 template <
typename t>
334 requires(t v, alphabet_phred_t<t> c)
Core alphabet concept and free function/type trait wrappers.
#define SEQAN3_CPO_OVERLOAD(...)
A macro that helps to define a seqan3::detail::customisation_point_object.
Definition: customisation_point.hpp:113
constexpr auto to_phred
The public getter function for the Phred representation of a quality score.
Definition: concept.hpp:100
decltype(seqan3::to_phred(std::declval< alphabet_type >())) alphabet_phred_t
The phred_type of the alphabet; defined as the return type of seqan3::to_phred.
Definition: concept.hpp:112
constexpr auto assign_phred_to
Assign a Phred score to a quality alphabet object.
Definition: concept.hpp:231
The generic alphabet concept that covers most data types used in ranges.
A concept that indicates whether an alphabet represents quality scores.
Refines seqan3::alphabet and adds assignability.
A concept that indicates whether a writable alphabet represents quality scores.
The main SeqAn3 namespace.
Definition: aligned_sequence_concept.hpp:29
A type that can be specialised to provide customisation point implementations so that third party typ...
Definition: concept.hpp:49