28 namespace seqan3::detail
39 constexpr
auto operator()(ptrdiff_t begin_pos, ptrdiff_t end_pos)
const noexcept
41 return detail::adaptor_from_functor{*
this, begin_pos, end_pos};
47 template <std::ranges::viewable_range urng_t>
48 constexpr
auto operator()(urng_t && urange,
49 std::ranges::range_difference_t<urng_t> begin_pos,
50 std::ranges::range_difference_t<urng_t> end_pos)
const
52 if constexpr (std::ranges::sized_range<urng_t>)
54 using position_t = std::ranges::range_difference_t<urng_t>;
59 if (end_pos < begin_pos)
60 throw std::invalid_argument{
"end_pos argument to seqan3::views::slice must be >= the begin_pos argument."};
145 inline constexpr
auto slice = detail::slice_fn{};
Provides seqan3::views::drop.
constexpr size_t size
The size of a type pack.
Definition: traits.hpp:150
constexpr auto drop
A view adaptor that returns all elements after n from the underlying range (or an empty range if the ...
Definition: drop.hpp:172
constexpr auto take
A view adaptor that returns the first size elements from the underlying range (or less if the underly...
Definition: take.hpp:611
constexpr auto slice
A view adaptor that returns a half-open interval on the underlying range.
Definition: slice.hpp:145
Provides exceptions used in the I/O module.
Provides C++20 additions to the <iterator> header.
The SeqAn namespace for views.
Definition: async_input_buffer.hpp:343
Additional non-standard concepts for ranges.
Adaptations of concepts from the Ranges TS.
Provides std::span from the C++20 standard library.
Provides seqan3::views::take.
Provides C++20 additions to the type_traits header.