move_iterator Class
Šablona třídy move_iterator je obálka pro iterace.Move_iterator poskytuje proto zrušit reference iterační obtéká (obchody), s výjimkou jej zapne iterační uložené společnosti struktury operátor do odkazu rvalue zapnutí kopírování, Přesun do stejné chování.Další informace o rvalues Rvalue referenční Declarator: & &.
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;
};
Poznámky
Popisuje šablony třídy objektu, který se chová jako iterátoru kromě při přímo odkázat.Uloží iterační náhodný přístup typu Iterator, přístup pomocí členské funkce base().Všechny operace v move_iterator jsou prováděny přímo na uložené iterační s výjimkou, že výsledek operator* je implicitně přetypovat na value_type&& odkaz rvalue.
A move_iterator může být schopný operací, které nejsou definovány zalomený iterace.Vhodné tyto operace.
Konstruktory
Konstruktor pro objekty typu move_iterator. |
Funkce TypeDef
Synonymum pro parametr šablony RandomIterator. |
|
Synonymum pro delší typename výrazu se stejným názvem, iterator_category identifikuje obecné schopnosti iterace. |
|
Synonymum pro delší typename výrazu se stejným názvem, value_type popisuje typ iterace jsou prvky. |
|
Synonymum pro delší typename výrazu se stejným názvem, difference_type popisuje integrálního typu požadované hodnoty express rozdíl mezi prvky. |
|
Synonymum pro parametr šablony RandomIterator. |
|
Synonymum pro rvalue referenční value_type&&. |
Funkce členů
Členské funkce vrátí uložené iterační zabalené tohoto move_iterator. |
Operátory
Vrátí(reference)*base(). |
|
Zvýší o uložené iterace.Přesné chování závisí na tom, zda je preincrement nebo postincrement operace. |
|
Snížení hodnoty uložené iterace.Přesné chování závisí na tom, zda je predecrement nebo postdecrement operace. |
|
Vrátí &**this. |
|
Vrátí move_iterator(*this) -= podle odečtení hodnoty vpravo od aktuální pozice. |
|
Vrátí (reference)*(*this + off).Umožňuje zadat posunu od aktuálního base získat hodnotu v daném umístění. |
|
Vrátí move_iterator(*this) += hodnotu.Umožňuje přidat odsazení základním získat hodnotu v tomto umístění. |
|
Přidá hodnotu pravého uložené iterace a vrátí *this. |
|
Odečte hodnotu pravého z uložené iterace a vrátí *this. |
Požadavky
Záhlaví: <iterator>
Obor názvů: std
Viz také
Úkoly
Jak: Zapsat přesun konstruktor