move_iterator Class
クラス テンプレート move_iterator は、反復子のラッパー クラスです。move_iterator は反復子は、ストア ()、ラップするのと同じ動作を提供し、rvalue 参照に格納されている反復子の逆参照演算子を回転以外のコピーを移動に変換します。rvalue に関する詳細については、右辺値参照宣言子: &&を参照してください。
template<class Iterator>
class move_iterator {
public:
typedef Iterator iterator_type;
typedef typename
iterator_traits<Iterator>::iterator_category
iterator_category;
typedef typename iterator_traits<Iterator>::value_type
value_type;
typedef typename iterator_traits<Iterator>::difference_type
difference_type;
typedef Iterator
pointer;
typedef value_type&&
reference;
move_iterator();
explicit move_iterator (Iterator right);
template<class Type>
move_iterator (const move_iterator<Type>& right);
template <class Type>
move_iterator& operator=(const move_iterator<Type>& right);
iterator_type base () const;
reference operator* () const;
pointer operator-> () const;
move_iterator& operator++ ();
move_iterator operator++ (int);
move_iterator& operator-- ();
move_iterator operator-- (int);
move_iterator& operator+= (difference_type off);
move_iterator operator+ (difference_type off) const;
move_iterator& operator-= (difference_type off);
move_iterator operator- (difference_type off) const;
reference operator[] (difference_type off) const;
};
解説
このテンプレート クラスは、反復子のないようにするオブジェクトについて説明します逆参照されたとき。これは、メンバー関数 base()を介してアクセス Iterator型のランダム アクセス反復子を格納します。move_iterator のすべての操作は、格納されている反復子で直接実行されます、rvalue 参照を行うにただし、operator* の結果は value_type&& に暗黙的にキャストします。
move_iterator は、ラップされた反復子によって定義されていない操作が可能である場合があります。これらの操作は使用しないでください。
コンストラクター
型 move_iteratorオブジェクトのコンストラクター。 |
Typedef
テンプレート パラメーターのシノニム RandomIterator。 |
|
同じ名前、iterator_category の typename の長い式のシノニムは、反復子の一般的な容量を識別します。 |
|
同じ名前、value_type の typename の長い式のシノニムは、型の反復子要素がについて説明します。 |
|
同じ名前、difference_type の typename の長い式のシノニムは、要素間の相違点の値を表現するために必要な型について説明します。 |
|
テンプレート パラメーターのシノニム RandomIterator。 |
|
rvalue の参照 value_type&&のシノニム。 |
メンバー関数
このメンバー関数は move_iteratorでラップされた格納されている反復子を返します。 |
演算子
(reference)*base().を返します |
|
格納されている反復子をインクリメントします。実際の動作は、preincrement または postincrement の操作であるかによって異なります。 |
|
格納されている反復子をデクリメントします。実際の動作は、predecrement または postdecrement の操作であるかによって異なります。 |
|
&**this を返します。 |
|
最初に現在位置から右の値を減算して、move_iterator(*this) -=返します。 |
|
(reference)*(*this + off) を返します。割り当て、その位置に値を取得するには、現在の基本クラスからのオフセットを指定します。 |
|
move_iterator(*this) +=値を返します。割り当て、その位置に値を取得するための参照にオフセットを追加。 |
|
右の値が格納されている反復子に追加し、*thisを返します。 |
|
右の値が格納されている反復子から減算し、*thisを返します。 |
必要条件
ヘッダー: <iterator>
名前空間: std