Provides seqan3 general purpose range functionality. More...
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 > |
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). More... | |
Functions | |
template<std::ranges::input_range rng_t> | |
constexpr void | seqan3::detail::consume (rng_t &&rng) |
Iterate over a range (consumes single-pass input ranges). More... | |
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). More... | |
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 (consumes single-pass input ranges).
Iterate over a range (NO-OP for forward ranges).
rng_t | Type of the range; must satisfy std::ranges::input_range. |
rng | The range. |
rng_t | Type of the range; must satisfy std::ranges::forward_range. |
|
constexpr |
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.