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); }