21namespace seqan3::detail
32 template <
typename threshold_t>
33 constexpr auto operator()(threshold_t
const threshold)
const
36 "The threshold must either be a quality alphabet or an integral type "
37 "in which case it is compared with the underlying Phred score type.");
39 return adaptor_from_functor{*
this, threshold};
47 template <std::ranges::input_range irng_t,
typename threshold_t>
48 constexpr auto operator()(irng_t && irange, threshold_t
const threshold)
const
51 "views::trim_quality can only operate on ranges over seqan3::quality_alphabet.");
52 static_assert(std::same_as<std::remove_cvref_t<threshold_t>,
54 std::integral<std::remove_cvref_t<threshold_t>>,
55 "The threshold must either be a letter of the underlying alphabet or an integral type "
56 "in which case it is compared with the underlying Phred score type.");
58 return detail::take_until(std::forward<irng_t>(irange), [threshold] (
auto const value)
60 if constexpr (std::same_as<std::remove_cvref_t<threshold_t>,
68 return static_cast<c_t
>(
to_phred(value)) <
static_cast<c_t
>(threshold);
A wrapper type around an existing view adaptor that enables "deep view" behaviour for that view.
Definition: deep.hpp:104
Provides seqan3::views::deep.
constexpr auto to_phred
The public getter function for the Phred representation of a quality score.
Definition: concept.hpp:100
constexpr auto trim_quality
A view that does quality-threshold trimming on a range of seqan3::quality_alphabet.
Definition: trim_quality.hpp:127
A concept that indicates whether an alphabet represents quality scores.
The SeqAn namespace for views.
Definition: char_to.hpp:22
Provides quality alphabet composites.
The <ranges> header from C++20's standard library.
Provides seqan3::views::take_until and seqan3::views::take_until_or_throw.