Common Library
0.9.5
|
Indexer を利用した反復子 [詳解]
std::iterator< std::random_access_iterator_tag, Value, std::ptrdiff_t, Pointer, Reference >を継承しています。
公開型 | |
typedef Value | value_type |
要素の値の型 | |
typedef std::ptrdiff_t | difference_type |
反復子どうしの距離の型 | |
typedef size_t | size_type |
サイズの型 | |
typedef Pointer | pointer |
ポインタの型 | |
typedef Reference | reference |
参照の型 | |
公開メンバ関数 | |
base_indexer_iterator () | |
デフォルト・コンストラクタ [詳解] | |
base_indexer_iterator (Container &container, Indexer indexer) | |
対象のコンテナ Container と添字計算用関数オブジェクト Indexer を指定して構築 [詳解] | |
reference | operator[] (difference_type i) |
指定した添字の値への参照を返す(添字演算子) [詳解] | |
reference | at (difference_type i) |
指定した添字の値への参照を返す(範囲チェック付き) [詳解] | |
reference | operator* () const |
現在位置の値への参照を返す(参照演算子) [詳解] | |
reference | at () const |
現在位置の値への参照を返す(範囲チェック付き) [詳解] | |
pointer | operator-> () const |
ポインタ演算子 [詳解] | |
pointer | pointTo () const |
ポインタ演算子(範囲チェック付き) [詳解] | |
bool | operator== (const base_indexer_iterator &p) const |
等号演算子 [詳解] | |
bool | operator!= (const base_indexer_iterator &p) const |
不等号演算子 [詳解] | |
bool | operator< (const base_indexer_iterator &p) const |
比較演算子(より小さい) [詳解] | |
bool | operator> (const base_indexer_iterator &p) const |
比較演算子(より大きい) [詳解] | |
bool | operator<= (const base_indexer_iterator &p) const |
比較演算子(以下) [詳解] | |
bool | operator>= (const base_indexer_iterator &p) const |
比較演算子(以上) [詳解] | |
difference_type | operator- (const base_indexer_iterator &p) const |
二つの反復子間の距離を返す [詳解] | |
限定公開メンバ関数 | |
~base_indexer_iterator () | |
デストラクタ [詳解] | |
限定公開変数類 | |
Container * | container_ |
対象のコンテナ | |
Indexer | indexer_ |
添字計算用関数オブジェクト | |
difference_type | ci_ |
現在位置 | |
Indexer を利用した反復子
コンテナやランダム・アクセス反復子の添字演算子を利用して反復処理を行うための反復子。 コンテナはランダム・アクセス反復子を持つことを前提としている( コンテナの添字反復子 ( operator[] ) を利用する )。
テンプレート引数の Value はコンテナの値、Container は対象のコンテナ、 Pointer はポインタの型、Reference は参照の型、Indexer は添字計算用関数オブジェクトの型をそれぞれ表す。
Indexer として SliceIndexer または SymMatIndexer の利用を想定している。
|
inlineprotected |
デストラクタ
デストラクタのアクセス指定子は protected であり、派生クラスしか呼び出しができない。 そのため、base_indexer_iterator 自身を構築することはできず、利用できるのはその派生クラスのみとなる。
|
inline |
デフォルト・コンストラクタ
コンテナへの参照はないため、このまま利用することはできない。
|
inline |
対象のコンテナ Container と添字計算用関数オブジェクト Indexer を指定して構築
container | 対象のコンテナへの参照(Container) |
indexer | 添字計算用関数オブジェクト(Indexer) |
|
inline |
指定した添字の値への参照を返す(添字演算子)
i | 要素を取得する対象の添字 |
|
inline |
指定した添字の値への参照を返す(範囲チェック付き)
i | 要素を取得する対象の添字 |
|
inline |
現在位置の値への参照を返す(参照演算子)
|
inline |
現在位置の値への参照を返す(範囲チェック付き)
|
inline |
ポインタ演算子
|
inline |
ポインタ演算子(範囲チェック付き)
|
inline |
等号演算子
現在位置だけではなく Indexer も比較対象とする。
p | 比較対象の base_indexer_iterator |
|
inline |
不等号演算子
現在位置だけではなく Indexer も比較対象とする。
p | 比較対象の base_indexer_iterator |
|
inline |
比較演算子(より小さい)
Indexer どうしが等しくないと判断された場合は常に false となる。
p | 比較対象の base_indexer_iterator |
|
inline |
比較演算子(より大きい)
Indexer どうしが等しくないと判断された場合は常に false となる。
p | 比較対象の base_indexer_iterator |
|
inline |
比較演算子(以下)
Indexer どうしが等しくないと判断された場合は常に false となる。
p | 比較対象の base_indexer_iterator |
|
inline |
比較演算子(以上)
Indexer どうしが等しくないと判断された場合は常に false となる。
p | 比較対象の base_indexer_iterator |
|
inline |
二つの反復子間の距離を返す
自分の方が先頭側にある場合は負数になる。
p | 相手側の base_indexer_iterator |