SeqAn3 3.3.0-rc.1
The Modern C++ library for sequence analysis.
seqan3::detail::chunk_view< urng_t >::basic_input_iterator< const_range >::input_helper_iterator< outer_it_type > Class Template Reference

Helper iterator class to be used as iterator type in the subrange of this iterators value_type. More...

+ Inheritance diagram for seqan3::detail::chunk_view< urng_t >::basic_input_iterator< const_range >::input_helper_iterator< outer_it_type >:

Public Member Functions

input_helper_iteratoroperator++ () noexcept
 Pre-increment will decrease the member variable basic_input_iterator::remaining.
 
input_helper_iterator operator++ (int) noexcept
 Post-increment will decrease the member variable basic_input_iterator::remaining.
 
bool operator== (sentinel_t const &) noexcept
 Compare to the sentinel type (same as sentinel type of the underlying range).
 
Constructors, destructor and assignment
constexpr input_helper_iterator ()=default
 Defaulted.
 
constexpr input_helper_iterator (input_helper_iterator const &)=default
 Defaulted.
 
constexpr input_helper_iterator (input_helper_iterator &&)=default
 Defaulted.
 
constexpr input_helper_iteratoroperator= (input_helper_iterator const &)=default
 Defaulted.
 
constexpr input_helper_iteratoroperator= (input_helper_iterator &&)=default
 Defaulted.
 
 ~input_helper_iterator ()=default
 Defaulted.
 
constexpr input_helper_iterator (outer_it_type &outer_iterator, urng_it_t urng_it)
 Construct from the outer iterator and the underlying range iterator.
 
constexpr input_helper_iterator (urng_it_t urng_it)
 Construct from the underlying range iterator.
 

Public Attributes

outer_it_type * outer_it {nullptr}
 Pointer to the outer iterator (basic_input_iterator).
 

Detailed Description

template<std::ranges::input_range urng_t>
template<bool const_range>
template<typename outer_it_type>
class seqan3::detail::chunk_view< urng_t >::basic_input_iterator< const_range >::input_helper_iterator< outer_it_type >

Helper iterator class to be used as iterator type in the subrange of this iterators value_type.

Template Parameters
urng_tThe type of the underlying range. Must model std::ranges::view and std::input_range but not std::forward_range.

The only purpose of this class is to wrap the iterator type it is inheriting from (urng_it_t) with the addition of decrementing the member variable basic_input_iterator::remaining when being incremented. This way, the basic_input_iterator can keep track of how many times the basic_input_iterator::urng_begin has been incremented within a chunk. A chunk can therefore be represented by a std::ranges::subrange<input_helper_iterator, sentinel_t>.


The documentation for this class was generated from the following file: