|
SeqAn3 3.4.0-rc.4
The Modern C++ library for sequence analysis.
|
A trace iterator an unbanded trace matrix. More...
#include <seqan3/alignment/matrix/detail/trace_iterator.hpp>
Inheritance diagram for seqan3::detail::trace_iterator< matrix_iter_t >:Public Member Functions | |
Constructors, destructor and assignment | |
| constexpr | trace_iterator ()=default |
| Defaulted. | |
| constexpr | trace_iterator (trace_iterator const &)=default |
| Defaulted. | |
| constexpr | trace_iterator (trace_iterator &&)=default |
| Defaulted. | |
| constexpr trace_iterator & | operator= (trace_iterator const &)=default |
| Defaulted. | |
| constexpr trace_iterator & | operator= (trace_iterator &&)=default |
| Defaulted. | |
| ~trace_iterator ()=default | |
| Defaulted. | |
| constexpr | trace_iterator (matrix_iter_t const matrix_iter) noexcept |
| Constructs from the underlying trace matrix iterator indicating the start of the trace path. | |
| template<two_dimensional_matrix_iterator other_matrix_iter_t> requires std::constructible_from<matrix_iter_t, other_matrix_iter_t> | |
| constexpr | trace_iterator (trace_iterator< other_matrix_iter_t > const other) noexcept |
| Constructs from the underlying trace matrix iterator indicating the start of the trace path. | |
Public Member Functions inherited from seqan3::detail::trace_iterator_base< trace_iterator< matrix_iter_t >, matrix_iter_t > | |
| reference | operator* () const noexcept |
| Returns the current trace direction. | |
| pointer | operator-> () const noexcept |
| Returns a pointer to the current trace direction. | |
| constexpr matrix_coordinate | coordinate () const noexcept |
| Returns the current coordinate in two-dimensional space. | |
| constexpr trace_iterator< matrix_iter_t > & | operator++ () noexcept |
| Advances the iterator by one. | |
| constexpr trace_iterator< matrix_iter_t > | operator++ (int) noexcept |
| Returns an iterator advanced by one. | |
Private Types | |
| using | base_t = trace_iterator_base< trace_iterator< matrix_iter_t >, matrix_iter_t > |
| The type of the base class. | |
Additional Inherited Members | |
Public Types inherited from seqan3::detail::trace_iterator_base< trace_iterator< matrix_iter_t >, matrix_iter_t > | |
| using | value_type = trace_directions |
| The value type. | |
| using | reference = trace_directions const & |
| The reference type. | |
| using | pointer = value_type const * |
| The pointer type. | |
| using | difference_type = std::ptrdiff_t |
| The difference type. | |
| using | iterator_category = std::forward_iterator_tag |
A trace iterator an unbanded trace matrix.
| matrix_iter_t | The wrapped matrix iterator; must model seqan3::detail::two_dimensional_matrix_iterator and the iterator's value type must be the same as seqan3::detail::trace_directions, i.e. std::same_as<std::iter_value_t<matrix_iter_t>, trace_directions> must evaluate to true. |
This iterator follows a given trace in an unbanded trace matrix.
|
inlineexplicitconstexprnoexcept |
Constructs from the underlying trace matrix iterator indicating the start of the trace path.
| [in] | matrix_iter | The underlying matrix iterator. |
|
inlineconstexprnoexcept |
Constructs from the underlying trace matrix iterator indicating the start of the trace path.
| other_matrix_iter_t | The underlying matrix iterator type of other; the condition std::constructible_from<matrix_iter_t, other_matrix_iter_t> must evaluate to true. |
| [in] | other | The underlying matrix iterator. |
Allows the conversion of non-const to const iterator.