SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::basic_iterator< single_pass_input_view< view_type > > Class Template Reference

An input_iterator over the associated range. More...

#include <seqan3/utility/views/single_pass_input.hpp>

+ Inheritance diagram for seqan3::detail::basic_iterator< single_pass_input_view< view_type > >:

Public Types

Associated types

Test that the sentinel fulfills the std::sentinel_for for the underlying iterator.

using difference_type = std::iter_difference_t< base_iterator_type >
 Difference type.
 
using value_type = std::iter_value_t< base_iterator_type >
 Value type.
 
using pointer = detail::iter_pointer_t< base_iterator_type >
 Pointer type.
 
using reference = std::iter_reference_t< base_iterator_type >
 Reference type.
 
using iterator_category = std::input_iterator_tag
 Iterator category.
 

Public Member Functions

Construction, destruction and assignment
 basic_iterator ()=default
 Default construction.
 
constexpr basic_iterator (basic_iterator const &rhs)=default
 Copy construction.
 
constexpr basic_iterator (basic_iterator &&rhs)=default
 Move construction.
 
constexpr basic_iteratoroperator= (basic_iterator const &rhs)=default
 Copy assignment.
 
constexpr basic_iteratoroperator= (basic_iterator &&rhs)=default
 Move assignment.
 
 ~basic_iterator ()=default
 Destruction.
 
 basic_iterator (single_pass_input_view< view_type > &view) noexcept
 Constructing from the underlying seqan3::single_pass_input_view.
 
Access operations
reference operator* () const noexcept
 Dereferences the cached iterator.
 
pointer operator-> () const noexcept
 Returns pointer to the pointed-to object.
 
Iterator operations
basic_iteratoroperator++ () noexcept
 Pre-increment.
 
void operator++ (int) noexcept
 Post-increment.
 

Private Types

using base_iterator_type = typename single_pass_input_view< view_type >::urng_iterator_type
 The pointer to the associated view.
 
using sentinel_type = typename single_pass_input_view< view_type >::sentinel
 The sentinel type to compare to.
 

Private Member Functions

base_iterator_typecached () const noexcept
 Gives access to the cached iterator.
 

Private Attributes

single_pass_input_view< view_type > * view_ptr {}
 The pointer to the associated view.
 

Friends

template<typename input_view_type >
class basic_iterator
 Friend declaration to give seqan3::detail::single_pass_input_sentinel access to members of this class.
 

Comparison operators

constexpr bool operator== (sentinel_type const &s, basic_iterator const &rhs) noexcept
 Compares for equality with sentinel.
 
constexpr bool operator!= (sentinel_type const &s, basic_iterator const &rhs) noexcept
 Compares for inequality with sentinel.
 
constexpr bool operator== (sentinel_type const &s) const noexcept
 Compares for equality with sentinel.
 
constexpr bool operator!= (sentinel_type const &rhs) const noexcept
 Compares for inequality with sentinel.
 

Detailed Description

template<typename view_type>
class seqan3::detail::basic_iterator< single_pass_input_view< view_type > >

An input_iterator over the associated range.

Template Parameters
view_typeThe type of the associated type.

This iterator reduces every iterator type of the associated view to an single pass input iterator.

Friends And Related Symbol Documentation

◆ operator!=

template<typename view_type >
constexpr bool operator!= ( sentinel_type const &  s,
basic_iterator< single_pass_input_view< view_type > > const &  rhs 
)
friend

Compares for inequality with sentinel.

◆ operator==

template<typename view_type >
constexpr bool operator== ( sentinel_type const &  s,
basic_iterator< single_pass_input_view< view_type > > const &  rhs 
)
friend

Compares for equality with sentinel.


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