#include<queue>
#include<iostream>
struct MyPriorityQueue: std::priority_queue<int> {
auto begin() const { return c.begin(); }
auto end() const { return c.end(); }
auto operator[](size_type __n) {return c.operator[](__n);}
};
int main() {
MyPriorityQueue pq;
pq.push(0);
pq.push(1);
for(auto &v: pq) {
std::cout << v << std::endl;
}
std::cout << pq[0] << " " << pq[1] << std::endl;
}
output
1
0
1 0