title: Insert into an STL queue using std::copy
body: <p>I'd like to use <code>std::copy</code> to insert elements into a queue like this:</p>
  
  <pre><code>vector&lt;int&gt; v;
  v.push_back( 1 );
  v.push_back( 2 );
  
  queue&lt;int&gt; q;
  
  copy( v.begin(), v.end(), insert_iterator&lt; queue&lt;int&gt; &gt;( q, q.front() ) );
  </code></pre>
  
  <p>But this fails to compile, complaining that <code>begin</code> is not a member of <code>std::queue</code>.</p>
  
  <p>Note: I tried it with <code>std::inserter</code> too - this also failed, this time saying that 'reference' is not a member of 'std::queue'.  <code>std::back_inserter</code> and <code>std::back_insert_iterator</code> also fail with the same error.</p>
  
  <p>Am I missing something obvious, or do <code>insert_iterator</code>s just not work with queues?</p>