23template <
typename score_type>
32template <
typename matrix_t>
40 { m.cols() } -> std::same_as<typename std::remove_cvref_t<matrix_t>::size_type>;
42 { m.rows() } -> std::same_as<typename std::remove_cvref_t<matrix_t>::size_type>;
44 { m.at(matrix_coordinate{}) } -> std::same_as<typename std::remove_cvref_t<matrix_t>::reference>;
49#if SEQAN3_DOXYGEN_ONLY(1) 0
50template <
typename matrix_t>
93template <matrix matrix1_t, matrix matrix2_t>
94 requires std::equality_comparable_with<typename matrix1_t::reference, typename matrix2_t::reference>
95inline bool operator==(matrix1_t
const & lhs, matrix2_t
const & rhs)
noexcept
97 if (lhs.rows() != rhs.rows())
100 if (lhs.cols() != rhs.cols())
103 for (
size_t row = 0u;
row < lhs.rows(); ++
row)
104 for (
size_t col = 0u; col < lhs.cols(); ++col)
95inline bool operator==(matrix1_t
const & lhs, matrix2_t
const & rhs)
noexcept {
…}
117template <matrix matrix1_t, matrix matrix2_t>
118 requires std::equality_comparable_with<typename matrix1_t::reference, typename matrix2_t::reference>
119inline bool operator!=(matrix1_t
const & lhs, matrix2_t
const & rhs)
noexcept
121 return !(lhs == rhs);
119inline bool operator!=(matrix1_t
const & lhs, matrix2_t
const & rhs)
noexcept {
…}
Defines the requirements of a matrix (e.g. score matrices, trace matrices).
Definition matrix_concept.hpp:52
bool operator!=(matrix1_t const &lhs, matrix2_t const &rhs) noexcept
Whether two alignment matrices are equal.
Definition matrix_concept.hpp:119
bool operator==(matrix1_t const &lhs, matrix2_t const &rhs) noexcept
Whether two alignment matrices are equal.
Definition matrix_concept.hpp:95
@ score_type
ID for the score_type option.
constexpr score_type matrix_inf
A special score which represents infinity.
Definition matrix_concept.hpp:24
@ row
The corresponding alignment coordinate will be incrementable/decrementable in the row index.
Provides seqan3::detail::matrix_index, seqan3::detail::matrix_coordinate and associated strong types.
The internal SeqAn3 namespace.
Definition aligned_sequence_concept.hpp:26
A strong type for designated initialisation of the column index of a matrix.
Definition matrix_coordinate.hpp:29
A strong type for designated initialisation of the row index of a matrix.
Definition matrix_coordinate.hpp:58