title: remove unique_ptr from queue
body: <p>I'm trying to figure out how/if I can use <code>unique_ptr</code> in a <code>queue</code>.</p>
  
  <pre><code>// create queue
  std::queue&lt;std::unique_ptr&lt;int&gt;&gt; q;
  
  // add element
  std::unique_ptr&lt;int&gt; p (new int{123});
  q.push(std::move(p));
  
  // try to grab the element
  auto p2 = foo_queue.front();
  q.pop(); 
  </code></pre>
  
  <p>I do understand why the code above doesn't work.  Since the <code>front</code> &amp; <code>pop</code> are 2 separate steps, the element cannot be moved. Is there a way to do this?</p>