イテレータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/05/23 21:42 UTC 版)
イテレータ(英語: iterator)とは、プログラミング言語において配列やそれに類似する集合的データ構造(コレクションあるいはコンテナ)の各要素に対する繰り返し処理の抽象化である。実際のプログラミング言語では、オブジェクトまたは文法などとして現れる。JISでは反復子(はんぷくし)と翻訳されている[1][2]。
注釈
- ^ Javaのジェネリクスは型消去による実装であり、型システムの上では
Iterator
もIterator<E>
も同じ型である。
出典
- ^ JISC 日本工業標準調査会 JISX3014「プログラム言語C++」、JISX3015「プログラム言語C#」など。
- ^ 繰り返し子(くりかえしし)という訳もあるが一般的ではない。「Rubyプログラミング入門」著者: 原信一郎、出版: オーム社、p.197。
- ^ C++ named requirements: LegacyRandomAccessIterator - cppreference.com
- ^ random_access_iterator - cpprefjp C++日本語リファレンス
- ^ std::random_access_iterator - cppreference.com
- ^ JIS X 3015「プログラム言語C#」p.64より引用。
- ^ 反復子 (C#) | Microsoft Docs
- ^ yield (C# リファレンス) | Microsoft Docs
- ^ yield (C# リファレンス) | Microsoft Docs - Visual Studio 2008
- ^ IEnumerable・IEnumerator - Programming/.NET Framework/列挙操作と列挙子 - 総武ソフトウェア推進所
- ^ IEnumerator.Reset Method (System.Collections) | Microsoft Docs
- 1 イテレータとは
- 2 イテレータの概要
- 3 種類
- 4 関連項目
イテレータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2017/03/05 01:46 UTC 版)
「XL (プログラミング言語)」の記事における「イテレータ」の解説
XLイテレータはジェネレータとイテレータの両方を扱える。 import IO = XL.UI.CONSOLEiterator IntegerIterator (var out Counter : integer; Low, High : integer) written Counter in Low..High is Counter := Low while Counter <= High loop yield Counter += 1// Note that I needs not be declared, because declared 'var out' in the iterator// An implicit declaration of I as an integer is therefore made herefor I in 1..5 loop IO.WriteLn "I=", I
※この「イテレータ」の解説は、「XL (プログラミング言語)」の解説の一部です。
「イテレータ」を含む「XL (プログラミング言語)」の記事については、「XL (プログラミング言語)」の概要を参照ください。
イテレータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/03 23:38 UTC 版)
※この「イテレータ」の解説は、「C Sharp」の解説の一部です。
「イテレータ」を含む「C Sharp」の記事については、「C Sharp」の概要を参照ください。
イテレータ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/04/29 13:43 UTC 版)
「Standard Template Library」の記事における「イテレータ」の解説
STLのイテレータは、コンテナに代表される要素集合の個々の要素を参照するためのクラスである。反復子、イタレータ、アイテレータと呼ばれることもある。 イテレータは配列の要素を指すポインタを抽象化したものと言える。しかしながら、全てのイテレータが、ポインタの持つ機能全てを備えている訳ではない。STLでは、イテレータに対して行える操作によって幾つかのコンセプトが定義されている。 InputIterator 入力反復子。要素への読み込み専用アクセスを提供するイテレータ。要素の読み取りが可能であればInputIteratorとみなせる。入力ストリームに結び付けられたistream_iteratorが典型的な例である。 OutputIterator 出力反復子。要素への書き込み専用アクセスを提供するイテレータ。要素への代入が可能であればOutputIteratorとみなせる。出力ストリームに結び付けられたostream_iteratorが典型的な例である。 ForwardIterator 前方反復子。一旦前方へ進めると、逆方向へは戻れないイテレータ。要素への代入と読み取りが可能であればForwardIteratorとみなせる。InputIteratorとOutputIteratorを組み合せたものといえる。典型的な例として、単方向リストコンテナのイテレータがある。 BidirectionalIterator 双方向反復子。前方と後方のどちらへでも移動できる機能を持たせたもの。ForwardIteratorの要件に加え、デクリメントが可能であればBidirectionalIteratorとみなせる。list、set、multiset、map、multimapコンテナのイテレータがこれに該当する。 RandomAccessIterator ランダムアクセス反復子。ポインタのようにランダムアクセスを行えるイテレータ。BidirectionalIteratorの要件に加え、算術演算が可能であればRandomAccessIteratorとみなせる。vector、array、dequeのイテレータ(およびポインタ)がこれに該当する。STLの仕様では、vector、array、dequeのイテレータが要素n個分進めるという操作をO(1)の効率で行うことが保証されている(逆に、これ以外のイテレータはO(n)の時間が必要である)。 以上の他、全てのイテレータは前進(++it)、等号比較(it1 != it2)、デリファレンス(*it)が可能でなければならない。
※この「イテレータ」の解説は、「Standard Template Library」の解説の一部です。
「イテレータ」を含む「Standard Template Library」の記事については、「Standard Template Library」の概要を参照ください。
固有名詞の分類
- イテレータのページへのリンク