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

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


RWSequenceable

RWSequenceable RWCollection RWCollectable

形式

#include <rw/seqcltn.h>
typedef RWSequenceable SequenceableCollection;
              // Smalltalk typedef

説明

このクラスは、インデックスによってアクセスできるコレクションの抽象基底クラスです。公開基底クラスとしてのクラス RWCollection を継承し、いくつか仮想関数を追加しています。ここでは、追加した仮想関数についてのみ説明します。

接続性

多相

公開メンバー関数

RWCollectable*
append(RWCollectable*) = 0;

コレクションの最後に項目を追加し、その項目を返します。挿入が失敗すると NULL を返します。

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

コレクションの i 番目の要素にアクセスできます。最初に記述した可変要素を左辺値として使用できますが、2 番目のものは使用できません。インデックス i は、0 〜 (コレクション内の項目数 -1) の範囲になければなりません。範囲外にあると RWBoundsErr 型の例外が発生します。

virtual RWCollectable*
first() const = 0;

コレクション内の最初の項目を返します。

virtual size_t
index(const RWCollectable* c) const = 0;

c が指す項目と "一致する" 最初の項目のインデックス番号を返します。一致する項目がなければ、RW_NPOS を返します。ほとんどのコレクションでは、実際のコレクションの型に応じて isEqual()compareTo() を使用して一致すると、項目は target が指すオブジェクトと一致することになります。

virtual void
insertAt(size_t indx, RWCollectable* e);

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

virtual RWCollectable*
last() const = 0;

コレクションの最後にある項目を返します。

RWCollectable*
prepend(RWCollectable*) = 0;

コレクションの最初に項目を追加し、その項目を返します。挿入が失敗すると NULL を返します。