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.
Oluşturucular
IISMimeType türü nesneler için yapıcı move_iterator. |
TypeDef
Şablon parametre eşanlamlısı RandomIterator. |
|
Eşanlamlısı daha uzun bir typename aynı adı ifade iterator_category Yineleyici genel yeteneklerini tanımlar. |
|
Eşanlamlısı daha uzun bir typename aynı adı ifade value_type ne tür bir yineleyici öğeler açıklanmaktadır. |
|
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. |
|
Şablon parametre eşanlamlısı RandomIterator. |
|
Eşanlamlısı rvalue başvuru value_type&&. |
Üye işlevleri
Üye işlevi bu tarafından sarılan saklı Yineleyici döndürür move_iterator. |
İşleçler
Döndürür(reference)*base(). |
|
Saklı Yineleyici artırır.Davranışının bir preincrement veya postincrement bir işlem olmasına göre değişir. |
|
Azaltır saklı Yineleyici.Davranışının bir predecrement veya postdecrement bir işlem olmasına göre değişir. |
|
Returns &**this. |
|
İade move_iterator(*this) -= ilk geçerli konumdan sağdaki değer çıkarılarak. |
|
Returns (reference)*(*this + off).Bu konumdaki değer elde etmek için geçerli temel zamanýna belirtmenize olanak verir. |
|
İade move_iterator(*this) += değeri.Bu konumdaki değer elde etmek için temel bir uzaklık eklemenizi sağlar. |
|
Saklı Yineleyici sağ taraftaki değeri ekler ve döner *this. |
|
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