SeqAn3
3.4.0
The Modern C++ library for sequence analysis.
Toggle main menu visibility
Loading...
Searching...
No Matches
trace_iterator.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2006-2025 Knut Reinert & Freie Universität Berlin
2
// SPDX-FileCopyrightText: 2016-2025 Knut Reinert & MPI für molekulare Genetik
3
// SPDX-License-Identifier: BSD-3-Clause
4
9
10
#pragma once
11
12
#include <
seqan3/alignment/matrix/detail/trace_iterator_base.hpp
>
13
14
namespace
seqan3::detail
15
{
16
28
template
<two_dimensional_matrix_iterator matrix_iter_t>
29
class
trace_iterator :
public
trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>
30
{
31
private
:
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."
);
34
36
using
base_t = trace_iterator_base<trace_iterator<matrix_iter_t>, matrix_iter_t>;
37
38
public
:
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
;
48
52
explicit
constexpr
trace_iterator(matrix_iter_t
const
matrix_iter) noexcept : base_t{matrix_iter}
53
{}
54
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}
67
{}
69
};
70
71
}
// namespace seqan3::detail
trace_iterator_base.hpp
Provides seqan3::detail::trace_iterator_base.
Hide me
Version:
seqan3
alignment
matrix
detail
trace_iterator.hpp
Generated on
for SeqAn3 by
1.17.0