|
SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
|
Provides seqan3 general purpose range functionality. More...
Collaboration diagram for Range:Classes | |
| class | seqan3::detail::adaptor_base< derived_type, stored_args_ts > |
| CRTP-base to simplify the definition of range adaptor closure objects and similar types. More... | |
| class | seqan3::detail::adaptor_for_view_without_args< view_type > |
| Template for range adaptor closure objects that store no arguments and always delegate to the view constructor. More... | |
| class | seqan3::detail::adaptor_from_functor< functor_type, stored_args_ts > |
| Template for range adaptor closure objects that store arguments and wrap a proto-adaptor. More... | |
| class | seqan3::detail::combined_adaptor< left_adaptor_t, right_adaptor_t > |
| Template for range adaptor closure objects that consist of two other range adaptor closure objects. More... | |
| class | seqan3::detail::inherited_iterator_base< derived_t, base_t > |
| A CRTP base template for creating iterators that inherit from other iterators. More... | |
| class | seqan3::detail::random_access_iterator< range_type > |
| A generic random access iterator that delegates most operations to the range. More... | |
| class | seqan3::detail::random_access_iterator_base< range_type, derived_t_template, args_t > |
| A CRTP base template for creating random access iterators. More... | |
| struct | seqan3::range_innermost_value< t > |
Recursively determines the value_type on containers and/or iterators. More... | |
Typedefs | |
| template<bool const_range, typename range_t > | |
| using | seqan3::detail::maybe_const_iterator_t = std::ranges::iterator_t< maybe_const_range_t< const_range, range_t > > |
| Returns the const iterator of range_t if const_range is true; otherwise the non-const iterator. | |
| template<bool const_range, typename range_t > | |
| using | seqan3::detail::maybe_const_range_t = std::conditional_t< const_range, range_t const, range_t > |
| Makes range_t const if const_range is true; otherwise keeps range_t as is. | |
| template<bool const_v, typename range_t > | |
| using | seqan3::detail::maybe_const_sentinel_t = std::ranges::sentinel_t< maybe_const_range_t< const_v, range_t > > |
| Returns the const sentinel of range_t if const_range is true; otherwise the non-const sentinel. | |
| template<typename t > | |
| using | seqan3::range_innermost_value_t = typename range_innermost_value< t >::type |
| Shortcut for seqan3::range_innermost_value (transformation_trait shortcut). | |
Functions | |
| template<std::ranges::input_range rng_t> | |
| constexpr void | seqan3::detail::consume (rng_t &&rng) |
| Iterate over a range. | |
Variables | |
| template<typename t > | |
| constexpr size_t | seqan3::range_dimension_v = 1 |
Returns the number of times you can call seqan3::value_type_t recursively on t (type trait). | |
Provides seqan3 general purpose range functionality.
| using seqan3::range_innermost_value_t = typedef typename range_innermost_value<t>::type |
Shortcut for seqan3::range_innermost_value (transformation_trait shortcut).
|
constexpr |
Iterate over a range.
| rng_t | Type of the range; must satisfy std::ranges::input_range. |
| rng | The range. |
std::ranges::input_range<rng_t>: Consumes input range.std::ranges::forward_range<rng_t>: NO-OP. Returns the number of times you can call seqan3::value_type_t recursively on t (type trait).
| t | The type to be queried; must resolve seqan3::value_type_t at least once. |
Attention, this type trait implicitly removes cv-qualifiers and reference from the types it recurses on and returns.