D 2.0
About Japanese Translation

www.digitalmars.com
Last update Sun Apr 19 16:54:14 2009

std.iterator

このモジュールは、Alexander Stepanov による Standard Template Libraryalgorithm ヘッダの発展途上の移植版です。

License:
Boost License 1.0.

Authors:
Andrei Alexandrescu



Note:
現在の所、組み込み配列に対するイテレータのみが定義されています。 組み込み配列それ自身は、レンジ としても扱われます。 組み込み配列 T[] のイテレータは現在の所 T* ですが、 将来的には変更されるかも知れません。

template Iterator(Range : T[],T)
Iterator!(Range) あるいは Iterator!(Collection) は、 その Range ないしは Collection の上を走査するイテレータの型です。 特に、Iterator!(T[]) は全ての型 T に対して T* と定義されています。

template ElementType(Range : T[],T)
レンジの要素型。組み込み配列 T[] の場合は、 要素型は T です。

bool isEmpty(T)(T[] r);
レンジ r が空のとき true を返します。

Iterator!(T[]) begin(T)(T[] r);
レンジ r の先頭を指すイテレータを返します。

Iterator!(T[]) end(T)(T[] r);
レンジ r の終端(の後ろ)を指すイテレータを返します。

ElementType!(T[]) front(T)(T[] r);
レンジの先頭要素を返します。

Preconditions:
!isEmpty(r)

T[] range(T)(T* first, T* last);
イテレータのペアからレンジを作成します。

Precondition:
lastfirst から到達可能であること (ポインタの場合は、 両者が同じメモリチャンクに属し、last >= first であること。)

struct Retro(R : E[],E);
レンジに対する逆順のビュー

Retro!(E[]) retro(E)(E[] r);
r の逆順レンジを返します。

Iterator!(Retro!(F[])) rBegin(F)(F[] range);
begin(retro(range)) を返します。

Iterator!(Retro!(F[])) rEnd(F)(F[] range);
end(retro(range)) を返します。