25 template <
typename score_type>
38 template <
typename matrix_t>
40 SEQAN3_CONCEPT Matrix = requires(matrix_t m)
52 { m.cols() } -> size_t;
57 { m.rows() } -> size_t;
79 template <Matrix matrix1_t, Matrix matrix2_t>
83 inline bool operator==(matrix1_t
const & lhs, matrix2_t
const & rhs) noexcept
85 if (lhs.rows() != rhs.rows())
88 if (lhs.cols() != rhs.cols())
91 for (
size_t row = 0u; row < lhs.rows(); ++row)
92 for (
size_t col = 0u; col < lhs.cols(); ++col)
93 if (lhs.at(row, col) != rhs.at(row, col))
105 template <Matrix matrix1_t, Matrix matrix2_t>
109 inline bool operator!=(matrix1_t
const & lhs, matrix2_t
const & rhs) noexcept
111 return !(lhs == rhs);
Definition: aligned_sequence_concept.hpp:35
Requires std::detail::WeaklyEqualityComparableWitht<t1,t2>, but also that t1 and t2, as well as their common_reference_t satisfy std::EqualityComparable.