Aracılığıyla paylaş


move_iterator Class

Sınıf şablonu move_iterator için bir yineleyici bir sarıcı olan.Bilgisayarın dışında depolanan Yineleyici kapatır (depoları için), sarar Yineleyici başvuru işleci rvalue başvuru, taşıma kopyaladığınız kapatma move_iterator aynı davranışı sağlar.Rvalues hakkında daha fazla bilgi için bkz: Rvalue başvuru Bildiricisi: & &.

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;
    };

Notlar

Şablon sınıfı başvuru yapıldı, dışında bir yineleyici gibi davranan bir nesneyi tanımlar.Rasgele erişimli Yineleyici türü depolar Iterator, üye işlevi aracılığıyla erişilen base().Tüm işlemler bir move_iterator saklı Yineleyici üzerinde doğrudan gerçekleştirilen dışında sonucunu operator* için örtülü olarak artığını value_type&& rvalue başvuru yapmak için.

A move_iterator tarafından sarılan Yineleyici tanımlanmamış işlemlerinin yeteneğine sahip olabilir.Bu işlemler kullanılmamalıdır.

Ee428021.collapse_all(tr-tr,VS.110).gifOluşturucular

move_iterator

IISMimeType türü nesneler için yapıcı move_iterator.

Ee428021.collapse_all(tr-tr,VS.110).gifTypeDef

move_iterator::iterator_type

Şablon parametre eşanlamlısı RandomIterator.

move_iterator::iterator_category

Eşanlamlısı daha uzun bir typename aynı adı ifade iterator_category Yineleyici genel yeteneklerini tanımlar.

move_iterator::value_type

Eşanlamlısı daha uzun bir typename aynı adı ifade value_type ne tür bir yineleyici öğeler açıklanmaktadır.

move_iterator::difference_type

Eşanlamlısı daha uzun bir typename aynı adı ifade difference_type öğeleri arasında hızlı fark değerleri için gereken tamsayı türü açıklanmaktadır.

move_iterator::pointer

Şablon parametre eşanlamlısı RandomIterator.

move_iterator::reference

Eşanlamlısı rvalue başvuru value_type&&.

Ee428021.collapse_all(tr-tr,VS.110).gifÜye işlevleri

move_iterator::base

Üye işlevi bu tarafından sarılan saklı Yineleyici döndürür move_iterator.

Ee428021.collapse_all(tr-tr,VS.110).gifİşleçler

move_iterator::operator*

Döndürür(reference)*base().

move_iterator::operator++

Saklı Yineleyici artırır.Davranışının bir preincrement veya postincrement bir işlem olmasına göre değişir.

move_iterator::operator--

Azaltır saklı Yineleyici.Davranışının bir predecrement veya postdecrement bir işlem olmasına göre değişir.

move_iterator::operator->

Returns &**this.

move_iterator::operator-

İade move_iterator(*this) -= ilk geçerli konumdan sağdaki değer çıkarılarak.

move_iterator::operator[]

Returns (reference)*(*this + off).Bu konumdaki değer elde etmek için geçerli temel zamanýna belirtmenize olanak verir.

move_iterator::operator+

İade move_iterator(*this) += değeri.Bu konumdaki değer elde etmek için temel bir uzaklık eklemenizi sağlar.

move_iterator::operator+=

Saklı Yineleyici sağ taraftaki değeri ekler ve döner *this.

move_iterator::operator-=

Sağ taraftaki saklı Yineleyici değerinden çıkarır ve döner *this.

Gereksinimler

Başlık: <iterator>

Namespace: std

Ayrıca bkz.

Görevler

Nasıl yapılır: taşıma kurucu yazma

Başvuru

Lvalues ve Rvalues

Standart Şablon Kütüphanesi