concurrent_queue および concurrent_bounded_queue テンプレート・クラスは、STL スタイルの反復をサポートします。キューをダンプする必要がある場合、このサポートはデバッグ目的でのみ行われます。イテレーターは前方へのみ移動します。非常に遅いため、製品コードでは使用しないでください。キューが変更された場合、キューを指すイテレーターはすべて無効になり、安全に使用できなくなります。次のコードは、キューをダンプします。operator<< は、Foo のために定義されています。
concurrent_queue<Foo> q; ... typedef concurrent_queue<Foo>::const_iterator iter; for(iter i(q.unsafe_begin()); i!=q.unsafe_end(); ++i ) { cout << *i; }
メソッドの unsafe_ プリフィクスは、並列化セーフでないことを示すリマインダーです。