バナーをクリックすれば目次に戻ります

Copyright 1999 Rogue Wave Software
Copyright 1999 Sun Microsystems, Inc.


RWTQueue<T,C>

形式

#include <rw/tqueue.h>
RWTQueue<T, C> queue;

説明

このクラスは、パラメータ化された待ち行列を表します。待ち行列に挿入されるオブジェクトの型がパラメータ化されるだけでなく、実装もパラメータ化されます。

パラメータ T は待ち行列内のオブジェクトの型 (クラスまたは組み込み型) を表します。クラス T には次のものが必要です。

パラメータ C は実装に使用するクラスを表します。RWTValSList<T>RWTValDlist<T> のどちらかを選んでください。RWTValOrderedVector<T> などのベクトルも使用できますが、リストの先頭からオブジェクトを取り除く場合はあまり効率的ではありません。

持続性

なし

次の例では、一重リンクリストとして実装されている待ち行列 RWCString を処理しています。

#include <rw/tqueue.h>
#include <rw/cstring.h>
#include <rw/tvslist.h>
#include <rw/rstream.h>

main() {
  RWTQueue<RWCString, RWTValSlist<RWCString> > queue;

  queue.insert("one");   // 型変換が行われる
  queue.insert("two");
  queue.insert("three");

  while (!queue.isEmpty())
    cout << queue.get() << endl;

  return 0;
}

プログラム出力:

one
two
three

公開メンバー関数

void
clear();

待ち行列からすべての項目を取り除きます。

size_t
entries() const;

待ち行列にある項目の数を返します。

T
first() const;

待ち行列の先頭の項目 (一番先に挿入された項目) を返します (ただし、取り除きません)。

T
get();

待ち行列の先頭の項目 (一番先に挿入された項目) を返し、それを取り除きます。

RWBoolean
isEmpty() const;

待ち行列に項目がまったくなければ TRUE を、あれば FALSE を返します。

void
insert(T a);

待ち行列の最後に項目 a を挿入します。

T
last() const;

待ち行列の最後の項目 (最後に挿入された項目) を返します (ただし、取り除きません)。