summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/common/multi_level_queue.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/multi_level_queue.h b/src/common/multi_level_queue.h
index d56ab6531..68b35ffaa 100644
--- a/src/common/multi_level_queue.h
+++ b/src/common/multi_level_queue.h
@@ -35,7 +35,11 @@ public:
35 using difference_type = typename std::pointer_traits<pointer>::difference_type; 35 using difference_type = typename std::pointer_traits<pointer>::difference_type;
36 36
37 friend bool operator==(const iterator_impl& lhs, const iterator_impl& rhs) { 37 friend bool operator==(const iterator_impl& lhs, const iterator_impl& rhs) {
38 return (lhs.IsEnd() && rhs.IsEnd()) || lhs.it == rhs.it; 38 if (lhs.IsEnd() && rhs.IsEnd())
39 return true;
40 if (lhs.current_priority == rhs.current_priority)
41 return lhs.it == rhs.it;
42 return false;
39 } 43 }
40 44
41 friend bool operator!=(const iterator_impl& lhs, const iterator_impl& rhs) { 45 friend bool operator!=(const iterator_impl& lhs, const iterator_impl& rhs) {