Sdílet prostřednictvím


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.

Ee428021.collapse_all(cs-cz,VS.110).gifKonstruktory

move_iterator

Konstruktor pro objekty typu move_iterator.

Ee428021.collapse_all(cs-cz,VS.110).gifFunkce TypeDef

move_iterator::iterator_type

Synonymum pro parametr šablony RandomIterator.

move_iterator::iterator_category

Synonymum pro delší typename výrazu se stejným názvem, iterator_category identifikuje obecné schopnosti iterace.

move_iterator::value_type

Synonymum pro delší typename výrazu se stejným názvem, value_type popisuje typ iterace jsou prvky.

move_iterator::difference_type

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.

move_iterator::pointer

Synonymum pro parametr šablony RandomIterator.

move_iterator::reference

Synonymum pro rvalue referenční value_type&&.

Ee428021.collapse_all(cs-cz,VS.110).gifFunkce členů

move_iterator::base

Členské funkce vrátí uložené iterační zabalené tohoto move_iterator.

Ee428021.collapse_all(cs-cz,VS.110).gifOperátory

move_iterator::operator*

Vrátí(reference)*base().

move_iterator::operator++

Zvýší o uložené iterace.Přesné chování závisí na tom, zda je preincrement nebo postincrement operace.

move_iterator::operator--

Snížení hodnoty uložené iterace.Přesné chování závisí na tom, zda je predecrement nebo postdecrement operace.

move_iterator::operator->

Vrátí &**this.

move_iterator::operator-

Vrátí move_iterator(*this) -= podle odečtení hodnoty vpravo od aktuální pozice.

move_iterator::operator[]

Vrátí (reference)*(*this + off).Umožňuje zadat posunu od aktuálního base získat hodnotu v daném umístění.

move_iterator::operator+

Vrátí move_iterator(*this) += hodnotu.Umožňuje přidat odsazení základním získat hodnotu v tomto umístění.

move_iterator::operator+=

Přidá hodnotu pravého uložené iterace a vrátí *this.

move_iterator::operator-=

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

Referenční dokumentace

Lvalues a Rvalues

Standardní šablona knihovny