SeqAn3 3.4.0-rc.1
The Modern C++ library for sequence analysis.
Loading...
Searching...
No Matches
seqan3::detail::alignment_matrix_column_major_range_base< derived_t >::iterator_type Class Reference

A column iterator over the alignment matrix. More...

+ Inheritance diagram for seqan3::detail::alignment_matrix_column_major_range_base< derived_t >::iterator_type:

Public Types

Associated types
using value_type = alignment_column_type
 The alignment-column type.
 
using reference = value_type
 A reference to the alignment-column type.
 
using pointer = void
 Pointer type.
 
using difference_type = std::ranges::range_difference_t< alignment_column_type >
 Difference type.
 
using iterator_category = std::input_iterator_tag
 Iterator category.
 

Public Member Functions

Constructors, destructor and assignment
constexpr iterator_type ()=default
 Defaulted.
 
constexpr iterator_type (iterator_type const &)=default
 Defaulted.
 
constexpr iterator_type (iterator_type &&)=default
 Defaulted.
 
constexpr iterator_typeoperator= (iterator_type const &)=default
 Defaulted.
 
constexpr iterator_typeoperator= (iterator_type &&)=default
 Defaulted.
 
 ~iterator_type ()=default
 Defaulted.
 
constexpr iterator_type (derived_t &me)
 Construction from an instance of the derived type.
 
Element access
constexpr reference operator* () const noexcept
 Returns the current alignment-column.
 
Arithmetic operators
constexpr iterator_typeoperator++ () noexcept
 Increments by one.
 
constexpr void operator++ (int) noexcept
 Increments by one.
 

Private Attributes

size_t column_index {}
 The current column index.
 
derived_tme_ptr
 Pointer to the derived type.
 

Comparison operators

constexpr bool operator== (std::default_sentinel_t const &) const noexcept
 Returns true if the behind-the-end column was reached, false otherwise.
 
constexpr bool operator!= (std::default_sentinel_t const &rhs) const noexcept
 Returns true if the behind-the-end column was not reached, false otherwise.
 
constexpr bool operator== (std::default_sentinel_t const &lhs, iterator_type const &rhs) noexcept
 Returns true if the host iterator reached the end, false otherwise.
 
constexpr bool operator!= (std::default_sentinel_t const &lhs, iterator_type const &rhs) noexcept
 Returns true if the host iterator did not reach the end, false otherwise.
 

Detailed Description

template<typename derived_t>
class seqan3::detail::alignment_matrix_column_major_range_base< derived_t >::iterator_type

A column iterator over the alignment matrix.

This iterator enables the iteration over the underlying alignment matrix in column-major-order. When dereferenced the iterator returns a seqan3::detail::alignment_matrix_column_major_range_base::column_type. The initialisation of the alignment-column depends on the derived type. This iterator models the std::input_iterator since in some cases the underlying semantics would only guarantee a std::input_iterator, e.g. in the one column score matrix implementation. Both the previous and the current column refer to the same data storage.

Constructor & Destructor Documentation

◆ iterator_type()

template<typename derived_t >
constexpr seqan3::detail::alignment_matrix_column_major_range_base< derived_t >::iterator_type::iterator_type ( derived_t me)
inlineexplicitconstexpr

Construction from an instance of the derived type.

Parameters
meAn instance of the derived type.

Friends And Related Symbol Documentation

◆ operator!=

template<typename derived_t >
constexpr bool operator!= ( std::default_sentinel_t const &  lhs,
iterator_type const &  rhs 
)
friend

Returns true if the host iterator did not reach the end, false otherwise.

◆ operator==

template<typename derived_t >
constexpr bool operator== ( std::default_sentinel_t const &  lhs,
iterator_type const &  rhs 
)
friend

Returns true if the host iterator reached the end, false otherwise.


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