How do I delete all elements from a priority queue? That means how do I destroy a priority queue? advanced thanks for your answer. Is there any clear- or erase-like method
Here's a clean and simple method to clear any priority_queue
(and queue
, and most other containers as well):
template
void clearQueue(Q & q) {
q = Q();
}
Since it's a template, you don't have to remember all the template parameters.
Example:
std::priority_queue simpleQueue;
std::priority_queue, MyHashFunction> customQueue;
// ... later ...
clearQueue(customQueue);
clearQueue(simpleQueue);