前のページ次のページ上に戻るホーム SophiaFramework 2.2
SFUIterator
単方向のイテレータです。
#include <SFUIterator.hpp>
class SFUIterator : virtual public SFUConstIterator;
typedef SFUIterator&          SFUIteratorRef;
typedef SFUIterator*          SFUIteratorPtr;
typedef SFUIterator**         SFUIteratorHandle;
typedef const SFUIterator     ConstSFUIterator;
typedef const SFUIterator&    ConstSFUIteratorRef;
typedef const SFUIterator*    ConstSFUIteratorPtr;
typedef const SFUIterator**   ConstSFUIteratorHandle;

継承図

SFUIterator クラスの継承図

解説

SFUIterator は単方向のイテレータを表します。

メンバ

コンストラクタ/デストラクタ
public
SFUIterator SFUIterator クラスのコンストラクタです。
パブリック関数
public
End (SFUConstIterator から継承) イテレータの終端に達したかを判定します。
public
Get 現在位置の要素を取得します。
public
HasNext (SFUConstIterator から継承) 次の位置に要素が存在するか調べます。
public
Insert 現在位置に要素を挿入します。
public
IsValid (SFUConstIterator から継承) イテレータが有効であるか調べます。
public
Next (SFUConstIterator から継承) 現在位置を進めます。
public
Remove 現在位置の要素を削除します。
public
Replace 現在位置の要素を置換します。
public
operator * 現在位置の要素を取得/設定します。
public
operator++ 現在位置を進めます。
public
operator= イテレータをコピーします。
プロテクト変数
protected
_body (SFUConstIterator から継承) イテレータ モデルです。

SFUIterator::SFUIterator
SFUIterator クラスのコンストラクタです。
[ public ]
SFUIterator(
    SFUIteratorRawPtr body   // イテレータ モデル
);
[ public ]
SFUIterator(
    ConstSFUIteratorRef src   // コピー元のイテレータ
);

解説

コンテナを実装するクラスは、 イテレータ モデルを実装して SFUIterator コンストラクタに提供することで 簡単にイテレータを実装できます。

コンストラクタに渡されたイテレータ モデルのポインタは、 イテレータが破棄されるときに 自動的に解放されます。

参照

SFUIteratorRaw


SFUIterator::Get
現在位置の要素を取得します。
[ public, const ]
VoidPtr Get(Void);

解説

現在位置がイテレータの終端に位置する場合やイテレータが無効な場合、 この関数を呼び出すとエラーになる可能性があります。

参照

SFUConstIterator::End | SFUConstIterator::IsValid


SFUIterator::Insert
現在位置に要素を挿入します。
[ public ]
Bool Insert(
    ConstVoidPtr data   // 挿入する要素
);

戻り値

挿入に成功すると TRUE を返します。 失敗すると FALSE を返します。


SFUIterator::Remove
現在位置の要素を削除します。
[ public ]
VoidPtr Remove(Void);

戻り値

削除した要素を返します。

解説

元になるコンテナの種類によっては、 この関数はサポートされません。 たとえば SFUHashMap のイテレータはこの関数をサポートしていません。


SFUIterator::Replace
現在位置の要素を置換します。
[ public ]
Void Replace(
    ConstVoidPtr data   // 新しく設定する要素
);

SFUIterator::operator=
イテレータをコピーします。
[ public ]
SFUIteratorRef operator=(
    ConstSFUIteratorRef rhs   // コピー元のイテレータ
);

解説

イテレータをコピーすると、 通常は元のイテレータの現在位置を引き継ぎます。


SFUIterator::operator++
現在位置を進めます。
[ public ]
SFUIteratorRef operator++(Void);
[ public ]
ConstSFUIterator operator++(
    SIntN dummy   // 後置演算子を意味する引数
);

SFUIterator::operator *
現在位置の要素を取得/設定します。
[ public, const ]
ConstVoidPtr operator *(Void);
[ public ]
VoidPtr & operator *(Void);

解説

この演算子は、通常は Get() 関数の簡易記法です。

参照

SFUIterator::Get