Add clear() function to priority_queue
Change-Id: I9c24cd6c39aa4b76680c87a6239416239d7c56eb
diff --git a/aos/containers/priority_queue.h b/aos/containers/priority_queue.h
index 0bc94e7..8fb5e5c 100644
--- a/aos/containers/priority_queue.h
+++ b/aos/containers/priority_queue.h
@@ -78,8 +78,17 @@
bool empty() const { return size_ == 0; }
bool full() const { return size_ == buffer_size; }
+ // Removes all the elements from the queue:
+ void clear() {
+ size_ = 0;
+ bottom_ = buffer_size;
+ top_ = buffer_size;
+ }
+
Data &top() { return list_[top_].data; }
+ const Data &top() const { return list_[top_].data; }
Data &get(size_t idx) { return list_[idx].data; }
+ const Data &get(size_t idx) const { return list_[idx].data; }
iterator begin() { return iterator(this, bottom_); }
iterator end() { return iterator(this, buffer_size); }