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

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

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

## RWDlistCollectables

RWDlistCollectables RWSequenceable RWCollection RWCollectable

### 形式

      #include <rw/dlistcol.h>
      RWDlistCollectables a;

### 説明

  このクラスは、外部キーではアクセスできない、順序付き項目の集まりを表します。要素の重複は許可されています。要素の順序は通常、外部的すなわち挿入と削除の順序によって決まります。このクラスによって格納されるオブジェクトは、抽象基底クラス RWCollectable を継承しなければなりません。

  このクラスは、二重リンクリストとして実装されているため、効率的な挿入や削除、さらに双方向の移動が可能です。

### 持続性

  多相

### 公開コンストラクタ

      RWDlistCollectables();

    空の二重リンクリストを作成します。

      RWDlistCollectables (RWCollectable* a);

    単一項目 `a` から成るリンクリストを作成します。

### 公開メンバー演算子

      RWBoolean
      operator==(const RWDlistCollectables& d) const;

    自分自身と `d` が同じ項目数を持ち、自分自身内の各項目と `d` 内の同じ位置の対応する項目が `isEqual` であれば、`TRUE` を返します。

### 公開メンバー関数

      virtual Collectable*
      append(RWCollectable*);

    RWSequenceable から再定義した関数。コレクションの最後に項目を挿入し、それを返します。挿入が失敗したら、NULL を返します。

      virtual void
      apply(RWapplyCollectable ap, void*);

    クラス RWCollection から再定義した関数。コレクションの各メンバーに対して、最初のメンバーから最後のメンバーの順にユーザー定義関数 `ap` を適用します。

      virtual RWCollectable*&
      at(size_t i);
      virtual const RWCollectable*
      at(size_t i) const;

    クラス RWSequenceable から再定義した関数。インデックスは、0 〜 (コレクション内の項目数 -1) の範囲内でなければなりません。範囲外の場合は RWBoundsErr 型の例外が発生します。リンクリストとして実装されているため、これらの関数はリンクをすべて走査しなければならないので、効率的ではありません。

      virtual RWspace
      binaryStoreSize() const;

    クラス RWCollection から継承した関数。

      virtual void
      clear();

    クラス RWCollection から再定義した関数。

      virtual void
      clearAndDestroy();

    クラス RWCollection から継承した関数。

      virtual int
      compareTo(const RWCollectable* a) const;

    クラス RWCollectable から継承した関数。

      virtual RWBoolean
      contains(const RWCollectable* target) const;

    クラス RWCollection から継承した関数。

      RWBoolean
      containsReference(const RWCollectable* e) const;

    項目 `e` と同一の項目 (アドレス `e` を持つ項目) がリストにあれば、`TRUE` を返します。

      virtual size_t
      entries() const;

    クラス `RWCollection` から再定義した関数。

      virtual RWCollectable*
      find(const RWCollectable* target) const;

    クラス RWCollection から再定義した関数。項目 `target` と `isEqual` である最初の項目を返すか、等しい項目がなければ NULL を返します。

      RWCollectable*
      findReference(const RWCollectable* e) const;

    項目 `e` と同一の最初の項目 (アドレス `e` を持つ項目) を返します。同一の項目がなければ NULL を返します。

      virtual RWCollectable*
      first() const;

    クラス RWSequenceable から再定義した関数。リストの最初にある項目を返します。

      RWCollectable*
      get();

    リストの最初にある項目を返し、取り除きます。

      virtual unsigned
      hash() const;

    クラス RWCollectable から継承した関数。

      virtual size_t
      index(const RWCollectable* c) const;

    クラス RWSequenceable から再定義した関数。項目 `c` と `isEqual` である最初の項目のインデックスを返します。等しい項目がなければ `RW_NPOS` を返します。

      virtual RWCollectable*
      insert(RWCollectable* c);

    クラス RWCollection から再定義した関数。コレクションの最後に項目 `c` を追加し、その項目を返します。追加できなければ NULL を返します。

      void
      insertAt(size_t indx, RWCollectable* e);

    クラス RWSequenceable から再定義した関数。コレクションの位置 `indx` に新しい項目を追加します。以前、位置 `i` にあった項目は `i+1` に移動し、それ以降の項目も順次移動します。インデックス `indx` は、0 〜 (コレクション内の項目数) の範囲になければなりません。範囲外の場合は RWBoundsErr 型の例外が発生します。

      virtual RWClassID
      isA() const;

    クラス RWCollectable から再定義した関数で、`__RWLISTCOLLECTABLES` を返します。

      virtual RWBoolean
      isEmpty() const;

    クラス RWCollection から再定義した関数。

      virtual RWCollectable*
      last() const;

    クラス RWSequenceable から再定義した関数。リストの最後にある項目を返します。

      virtual size_t
      occurrencesOf(const RWCollectable* target) const;

    クラス RWCollection から再定義した関数。項目 `target` と `isEqual` である項目の数を返します。

      size_t
      occurrencesOfReference(const RWCollectable* e) const;

    項目 `e` と同一の項目 (アドレス `e` を持つ項目) の数を返します。

      virtual RWCollectable*
      prepend(RWCollectable*);

    クラス RWSequenceable から再定義した関数。コレクションの最初に項目を追加し、その項目を返します。追加できなければ NULL を返します。

      virtual RWCollectable*
      remove(const RWCollectable* target);

    クラス RWCollection から再定義した関数。項目 `target` と `isEqual` である最初の項目を取り除き、それを返します。等しい項目がなければ NULL を返します。

      virtual void
      removeAndDestroy(const RWCollectable* target);

    クラス RWCollection から継承した関数。

      RWCollectable*
      removeReference(const RWCollectable* e);

    項目 `e` と同一の最初の項目 (アドレス `e` を持つ項目) を取り除き、それを返します。そのような項目がなければ NULL を返します。

      virtual void
      restoreGuts(RWvistream&);
      virtual void
      restoreGuts(RWFile&);
      virtual void
      saveGuts(RWvostream&) const;
      virtual void
      saveGuts(RWFile&) const;

    クラス RWCollection から継承した関数。

      RWStringID
      stringID();

    (仮想関数として動作) クラス RWCollectable から継承した関数。