17 namespace seqan3::detail
31 template <two_dimensional_matrix_iterator matrix_iter_t>
32 class trace_iterator :
public trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>
36 "Value type of the underlying iterator must be trace_directions.");
39 using base_t = trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>;
45 constexpr trace_iterator() =
default;
46 constexpr trace_iterator(trace_iterator
const &) =
default;
47 constexpr trace_iterator(trace_iterator &&) =
default;
48 constexpr trace_iterator & operator=(trace_iterator
const &) =
default;
49 constexpr trace_iterator & operator=(trace_iterator &&) =
default;
50 ~trace_iterator() =
default;
55 explicit constexpr trace_iterator(matrix_iter_t
const matrix_iter) noexcept : base_t{matrix_iter}
67 template <two_dimensional_matrix_iterator other_matrix_iter_t>
69 requires std::constructible_from<matrix_iter_t, other_matrix_iter_t>
71 constexpr trace_iterator(trace_iterator<other_matrix_iter_t>
const other) noexcept : base_t{other}