Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル: RWTQueue

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

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

## RWTQueue<T,C>

### 形式

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

### 説明

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

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

  - コピーの意味の定義 (`T::T(const T&)` または同等のもの)
  - 代入の意味の定義 (`T::operator=(const T&)` または同等のもの)
  - その他、クラス `C` に必要な意味の定義

  パラメータ `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;

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