Fixes to multilevelqueue's iterator.

master
Fernando Sahmkow 2019-03-19 20:28:03 +07:00 committed by FernandoS27
parent dde0814837
commit f35e09fe0d
1 changed files with 5 additions and 1 deletions

@ -35,7 +35,11 @@ public:
using difference_type = typename std::pointer_traits<pointer>::difference_type;
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) {