move_iterator Class
類別樣板 move_iterator 是 Iterator 的包裝函式。move_iterator 提供相同 Iterator 所包裝的行為 (儲存),不過,前者會將儲存的 Iterator 的取值運算子變更為右值參考,將複本變更為移動。如需 rvalues 的詳細資訊,請參閱 右值參考的宣告子: & &。
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;
};
備註
樣板類別描述的行為就像 Iterator,除了之外,當解除參考的物件。它會儲存型別 Iterator隨機存取 Iterator,透過成員函式 base()。在 move_iterator 的所有作業直接儲存在中之 Iterator 執行,但是有一點例外,就是 operator* 結果隱含地轉型為。 value_type&& 進行 rvalue 參考。
move_iterator 可能未定義由包裝的 Iterator 的作業可以在上。不應該使用這些作業。
建構函式
型別 move_iterator物件的建構函式。 |
Typedef
範本參數的 RandomIterator一個同義資料表。 |
|
相同的名稱, iterator_category 比較長的 typename 運算式的一個同義資料表識別 Iterator 的一般功能。 |
|
相同的名稱, value_type 比較長的 typename 運算式的一個同義資料表說明型別 Iterator 項目"的父項目為。 |
|
相同的名稱, difference_type 比較長的 typename 運算式的一個同義資料表描述需求的整數類資料型別表示在項目之間的差異值。 |
|
範本參數的 RandomIterator一個同義資料表。 |
|
一個同義資料表提供 rvalue 參考 value_type&&。 |
成員函式
成員函式會傳回 move_iterator換行的儲存的 Iterator。 |
運算子
傳回 (reference)*base(). |
|
將已儲存的 Iterator。實際的行為取決於它是否為 preincrement 或 postincrement 作業。 |
|
可儲存的 Iterator。實際的行為取決於它是否為 predecrement 或 postdecrement 作業。 |
|
傳回 &**this。 |
|
您可以先減去右值傳回 move_iterator(*this) -=從目前的位置。 |
|
傳回 (reference)*(*this + off)。可讓您指定與目前基底的位移在該位置取得值。 |
|
傳回 move_iterator(*this) +=值。可讓您將傳遞至基底類別中的位移 (Offset)。在該位置取得值。 |
|
將右邊的值已儲存的 Iterator,並傳回 *this。 |
|
從儲存的 Iterator 減掉右邊的值,並傳回 *this。 |
需求
標題: <iterator>
命名空間: std