Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.
Constructores
el constructor para los objetos de move_iteratorescrito. |
Typedefs
un sinónimo para el parámetro RandomIteratorde la plantilla. |
|
Un sinónimo de una expresión más larga de typename del mismo nombre, iterator_category identifica las funciones generales del iterador. |
|
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. |
|
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. |
|
un sinónimo para el parámetro RandomIteratorde la plantilla. |
|
Un sinónimo de la referencia value_type&&de rvalue . |
Funciones miembro
La función miembro devuelve el iterador almacenado ajustará en este move_iterator. |
Operadores
devuelve (reference)*base(). |
|
Aumenta el iterador almacenado.El comportamiento exacto depende de si es un preincrement o una operación de postincrement. |
|
disminuye el iterador almacenado.El comportamiento exacto depende de si es un predecrement o una operación de postdecrement. |
|
Devuelva &**this. |
|
Devuelve move_iterator(*this) -=primero restando el valor derecho de la posición actual. |
|
Devuelva (reference)*(*this + off).Permite especificar un desplazamiento de base actual para obtener el valor en esa ubicación. |
|
devuelve move_iterator(*this) +=el valor.Permite agregar un desplazamiento en la base para obtener el valor en esa ubicación. |
|
Agrega el valor derecho al iterador almacenado, y devuelve *this. |
|
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