Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

move_iterator (Clase)

La plantilla de clase move_iterator es un contenedor para un iterador. La plantilla move_iterator ofrece el mismo comportamiento que el iterador que contiene (almacena), con la excepción de que cambia el operador de desreferencia por una referencia rvalue y convierte una copia en un movimiento. Para obtener más información acerca de los valores rvalues, vea Declarador de referencia a un valor R: &&.

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

La clase de plantilla describe un objeto que se comporta como un iterador salvo cuando se desreferencia. Almacena un iterador de acceso aleatorio de tipo Iterator, al que se tiene acceso mediante la función miembro base(). Todas las operaciones de move_iterator se realizan directamente en el iterador almacenado, con la excepción de que el resultado de operator* se convierte implícitamente en value_type&& para crear una referencia rvalue.

Un move_iterator puede llevar a cabo operaciones no definidas por el iterador contenedor. Estas operaciones no se deben usar.

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

move_iterator

Constructor para los objetos de tipo move_iterator.

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

move_iterator::iterator_type

Sinónimo del parámetro de plantilla RandomIterator.

move_iterator::iterator_category

Un sinónimo de una expresión más larga de typename del mismo nombre, iterator_category identifica las capacidades 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 de qué tipo son los elementos del iterador.

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 para expresar valores diferentes entre elementos.

move_iterator::pointer

Sinónimo del parámetro de plantilla RandomIterator.

move_iterator::reference

Sinónimo de la referencia rvaluevalue_type&&.

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

move_iterator::base

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

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

move_iterator::operator*

Devuelve (reference)*base().

move_iterator::operator++

Incrementa el iterador almacenado. El comportamiento exacto depende de si se trata de una operación de incremento previo o posterior.

move_iterator::operator--

Disminuye el iterador almacenado. El comportamiento exacto depende de si se trata de una operación de disminución previa o posterior.

move_iterator::operator->

Devuelve &**this.

move_iterator::operator-

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

move_iterator::operator[]

Devuelve (reference)*(*this + off). Permite especificar una posición de desplazamiento a partir de la base actual para obtener el valor que se encuentra en esa ubicación.

move_iterator::operator+

Devuelve el valor move_iterator(*this) += . Permite agregar una posición de desplazamiento a la base para obtener el valor que se encuentra en esa ubicación.

move_iterator::operator+=

Agrega el valor situado a la derecha del iterador almacenado y devuelve *this.

move_iterator::operator-=

Resta el valor situado a la derecha del iterador almacenado y devuelve *this.

Encabezado: <iterator>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft