move_iterator Class

la plantilla move_iterator de la clase es un contenedor para un iterador.El move_iterator proporciona el mismo comportamiento que el iterador se ajusta (almacena), a menos que cambie el iterador almacenado operador de desreferencia en una referencia rvalue, girar una copia en un movimiento.Para obtener más información sobre valores r, vea Declarador de referencia Rvalue: &&.

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

Comentarios

La clase de plantilla describe un objeto que se comporte como un iterador excepto cuando está administrada.Almacena un iterador de acceso aleatorio de Iteratorescrito, acceso a la función base()miembro.Todas las operaciones en move_iterator se realizan directamente en el iterador almacenado, salvo que el resultado de operator* es implícitamente conversión a value_type&& para crear una referencia rvalue.

move_iterator podría ser capaz de las operaciones que no son definidas por el iterador ajustado.Estas operaciones no se deben utilizar.

Ee428021.collapse_all(es-es,VS.110).gifConstructores

move_iterator

el constructor para los objetos de move_iteratorescrito.

Ee428021.collapse_all(es-es,VS.110).gifTypedefs

move_iterator::iterator_type

un sinónimo para el parámetro RandomIteratorde la plantilla.

move_iterator::iterator_category

Un sinónimo de una expresión más larga de typename del mismo nombre, iterator_category identifica las funciones generales del iterador.

move_iterator::value_type

Un sinónimo de una expresión más larga de typename del mismo nombre, value_type describe el tipo de los elementos de iterador son.

move_iterator::difference_type

Un sinónimo de una expresión más larga de typename del mismo nombre, difference_type describe el tipo entero necesario expresar valores de la diferencia entre los elementos.

move_iterator::pointer

un sinónimo para el parámetro RandomIteratorde la plantilla.

move_iterator::reference

Un sinónimo de la referencia value_type&&de rvalue .

Ee428021.collapse_all(es-es,VS.110).gifFunciones miembro

move_iterator::base

La función miembro devuelve el iterador almacenado ajustará en este move_iterator.

Ee428021.collapse_all(es-es,VS.110).gifOperadores

move_iterator::operator*

devuelve (reference)*base().

move_iterator::operator++

Aumenta el iterador almacenado.El comportamiento exacto depende de si es un preincrement o una operación de postincrement.

move_iterator::operator--

disminuye el iterador almacenado.El comportamiento exacto depende de si es un predecrement o una operación de postdecrement.

move_iterator::operator->

Devuelva &**this.

move_iterator::operator-

Devuelve move_iterator(*this) -=primero restando el valor derecho de la posición actual.

move_iterator::operator[]

Devuelva (reference)*(*this + off).Permite especificar un desplazamiento de base actual para obtener el valor en esa ubicación.

move_iterator::operator+

devuelve move_iterator(*this) +=el valor.Permite agregar un desplazamiento en la base para obtener el valor en esa ubicación.

move_iterator::operator+=

Agrega el valor derecho al iterador almacenado, y devuelve *this.

move_iterator::operator-=

Resta el valor derecho de iterador almacenado, y devuelve *this.

Requisitos

encabezado: <iterador>

espacio de nombres: std

Vea también

Tareas

Cómo: escriba un movimiento Constructor

Referencia

Son y valores r

Biblioteca de plantillas estándar