diff --git a/include/seqan3/contrib/sdsl-lite.hpp b/include/seqan3/contrib/sdsl-lite.hpp index 3730873999..a82da4ac29 100644 --- a/include/seqan3/contrib/sdsl-lite.hpp +++ b/include/seqan3/contrib/sdsl-lite.hpp @@ -6862,14 +6862,48 @@ class int_vector_buffer } bool operator==(iterator const & it) const { - return m_ivb == it.m_ivb and m_idx == it.m_idx; + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); + return m_idx == it.m_idx; } bool operator!=(iterator const & it) const { return !(*this == it); } - inline difference_type operator-(iterator const & it) + bool operator<(iterator const & it) const { + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); + return m_idx < it.m_idx; + } + bool operator>(iterator const & it) const + { + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); + return m_idx > it.m_idx; + } + bool operator<=(iterator const & it) const + { + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); + return m_idx <= it.m_idx; + } + bool operator>=(iterator const & it) const + { + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); + return m_idx >= it.m_idx; + } + difference_type operator-(iterator const & it) const + { + assert(m_ivb); + assert(it.m_ivb); + assert(m_ivb == it.m_ivb); return (m_idx - it.m_idx); } };