14namespace seqan3::detail
28template <two_dimensional_matrix_iterator matrix_iter_t>
29class trace_iterator :
public trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>
32 static_assert(std::same_as<std::iter_value_t<matrix_iter_t>, trace_directions>,
33 "Value type of the underlying iterator must be trace_directions.");
36 using base_t = trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>;
42 constexpr trace_iterator() =
default;
43 constexpr trace_iterator(trace_iterator
const &) =
default;
44 constexpr trace_iterator(trace_iterator &&) =
default;
45 constexpr trace_iterator & operator=(trace_iterator
const &) =
default;
46 constexpr trace_iterator & operator=(trace_iterator &&) =
default;
47 ~trace_iterator() =
default;
52 explicit constexpr trace_iterator(matrix_iter_t
const matrix_iter) noexcept : base_t{matrix_iter}
64 template <two_dimensional_matrix_iterator other_matrix_iter_t>
65 requires std::constructible_from<matrix_iter_t, other_matrix_iter_t>
66 constexpr trace_iterator(trace_iterator<other_matrix_iter_t>
const other) noexcept : base_t{other}
Provides seqan3::detail::trace_iterator_base.