title: priority_queue, iterator and ordering
body: <p>Consider a <code>std::priority_queue</code> where <code>N</code> elements have the same priority. Now consider some <code>pop()</code>s and <code>push()</code>s of elements with any priority, so that the resulting queue consists of all those <code>N</code> elements mentioned above plus <code>M</code> new elements, where all the <code>N+M</code> elements have the same priority.</p>
  
  <p>Does a following <code>pop()</code> guarantee that the removal of the top element follows a FIFO order in which the first inserted element is removed first?</p>
  
  <p>Another question is how can I find an element and remove it from a priority queue? (a short examples is appreciated)</p>