Я хотел бы использовать std::copy
для вставки элементов в очередь следующим образом:
vector<int> v;
v.push_back( 1 );
v.push_back( 2 );
queue<int> q;
copy( v.begin(), v.end(), insert_iterator< queue<int> >( q, q.front() ) );
Но это не компилируется, жалуясь, что begin
не является членом std::queue
.
Примечание: я тоже попробовал это с std::inserter
- это тоже не удалось, на этот раз я сказал, что 'reference' не является членом 'std::queue'. std::back_inserter
и std::back_insert_iterator
также завершаются с той же ошибкой.
Я что-то упускаю из виду, или insert_iterator
просто не работает с очередями?