While searching for some functions in C++ STL documentation I read that push and pop for priority queues needs constant time.
http://www.cplusplus.com/reference/stl/priority_queue/push/
"Constant (in the priority_queue). Although notice that push_heap operates in logarithmic time."
My question is what kind of data structure is used to mantain a priority queue with O(1) for push and pop ?