Fixes to multilevelqueue's iterator.

This commit is contained in:
Fernando Sahmkow 2019-03-19 20:28:03 -04:00 committed by FernandoS27
parent dde0814837
commit f35e09fe0d
1 changed files with 5 additions and 1 deletions

View File

@ -35,7 +35,11 @@ public:
using difference_type = typename std::pointer_traits<pointer>::difference_type; using difference_type = typename std::pointer_traits<pointer>::difference_type;
friend bool operator==(const iterator_impl& lhs, const iterator_impl& rhs) { friend bool operator==(const iterator_impl& lhs, const iterator_impl& rhs) {
return (lhs.IsEnd() && rhs.IsEnd()) || lhs.it == rhs.it; if (lhs.IsEnd() && rhs.IsEnd())
return true;
if (lhs.current_priority == rhs.current_priority)
return lhs.it == rhs.it;
return false;
} }
friend bool operator!=(const iterator_impl& lhs, const iterator_impl& rhs) { friend bool operator!=(const iterator_impl& lhs, const iterator_impl& rhs) {