90template <
typename iter_t>
91concept two_dimensional_matrix_iterator =
92 std::random_access_iterator<iter_t>
103 {
cit.coordinate() };
105 {
it +=
offset } -> std::same_as<std::remove_reference_t<iter_t> &>;
106 {
it +
offset } -> std::same_as<std::remove_reference_t<iter_t>>;
107 {
offset +
it } -> std::same_as<std::remove_reference_t<iter_t>>;
108 {
it -=
offset } -> std::same_as<std::remove_reference_t<iter_t> &>;
109 {
it -
offset } -> std::same_as<std::remove_reference_t<iter_t>>;
110 {
cit -
offset } -> std::same_as<std::remove_reference_t<iter_t>>;
111 {
it.coordinate() } -> std::same_as<matrix_coordinate>;
112 {
cit.coordinate() } -> std::same_as<matrix_coordinate>;
117#if SEQAN3_DOXYGEN_ONLY(1) 0
118template <
typename iter_t>
A concept for iterators over a two dimensional matrix, e.g. seqan3::detail::two_dimensional_matrix.
Definition two_dimensional_matrix_iterator_concept.hpp:120
matrix_index< std::ptrdiff_t > matrix_offset
An offset type to move a matrix iterator in two-dimensional space.
Definition matrix_coordinate.hpp:186
@ offset
Sequence (seqan3::field::seq) relative start position (0-based), unsigned value.
Provides seqan3::detail::matrix_index, seqan3::detail::matrix_coordinate and associated strong types.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
constexpr auto const & get(configuration< configs_t... > const &config) noexcept
This is an overloaded member function, provided for convenience. It differs from the above function o...
Definition configuration.hpp:412