Espacios de nombres
Variantes

std::deque<T,Allocator>::insert

De cppreference.com

[edit template]
 
 
 
 
<tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody>
(1)
iterator insert( iterator pos, const T& value );
(hasta C++11)
iterator insert( const_iterator pos, const T& value );
(desde C++11)
iterator insert( const_iterator pos, T&& value );
(2) (desde C++11)
(3)
void insert( iterator pos, size_type count, const T& value );
(hasta C++11)
iterator insert( const_iterator pos, size_type count, const T& value );
(desde C++11)
(4)
template< class InputIt > void insert( iterator pos, InputIt first, InputIt last );
(hasta C++11)
template< class InputIt > iterator insert( const_iterator pos, InputIt first, InputIt last );
(desde C++11)
iterator insert( const_iterator pos, std::initializer_list<T> ilist );
(5) (desde C++11)

Inserta elementos en el contenedor en la ubicación especificada.

1-2) Inserta el valor value antes de la posición pos.
3) Inserta count copias del valor value antes de la posición pos.
4) Inserta elementos del rango [first, last) antes de la posición pos.

Esta sobrecarga tiene el mismo efecto que la sobrecarga (3) si InputIt es un tipo entero.

(hasta C++11)

Esta sobrecarga solo participa en la resolución de sobrecargas si InputIt califica como InputIterator, para evitar ambigüedad con la sobrecarga (3).

(desde C++11)
El comportamiento no está definido si first y last son iteradores en *this.
5) Inserta elements de la lista de inicializadores ilist antes de la posición pos.

Se invalidan todos los iteradores, incluyendo el iterador después del final. También se invalidan las referencias, a menos que pos == begin() o pos == end(), en cuyo caso no se invalidan.

Parámetros

pos - Iterador antes del cual se insertará el contenido. La posición pos puede ser el iterador end().
value - Valor del elemento a insertar.
first, last - El rango de los elementos a insertar, no pueden ser iteradores en el contenedor para el que se llama la función de inserción.
ilist - Lita de inicializadores de la cual insertar los valores.
Requisitos de tipo
-
T debe satisfacer los requisitos de CopyAssignable y CopyInsertable para poder usar la sobrecarga (1).
-
T debe satisfacer los requisitos de MoveAssignable y MoveInsertable para poder usar la sobrecarga (2).
-
T debe satisfacer los requisitos de CopyAssignable y CopyInsertable para poder usar la sobrecarga (3).
-
T debe satisfacer los requisitos de EmplaceConstructible para poder usar la sobrecarga (4,5).
-
T debe satisfacer los requisitos de Swappable, MoveAssignable, MoveConstructible y MoveInsertable para poder usar la sobrecarga (4,5). (desde C++17)

Valor de retorno

1-2) Iterador que apunta al valor value insertado
3) Iterador que apunta al primer elemento insertado, o a la posición pos si count==0.
4) Iterador que apunta al primer elemento insertado, o a la posición pos si first==last.
5) Iterador que apunta al primer elemento insertado, o a la posición pos si ilist está vacía.

Complejidad

1-2) Constante más lineal en la distancia menor entre la posición pos y cualquiera de los extremos del contenedor.
3) Lineal en count más lineal en la distancia menor entre la posición pos y cualquiera de los extremos del contenedor.
4) Lineal en std::distance(first, last) más lineal en la distancia menor entre la posición pos y cualquiera de los extremos del contenedor.
5) Lineal en ilist.size() más lineal en la distancia menor entre la posición pos y cualquiera de los extremos del contenedor.

Excepciones

Si se lanza una excepción al insertar un solo elemento en cualquiera de los extremos, esta función no tiene efecto (garantía de excepción fuerte).

Véase también

(C++11)
Construye el elemento en el sitio.
(función miembro pública) [editar]
Inserta un elemento al principio del contenedor.
(función miembro pública) [editar]
Agrega elementos al final.
(función miembro pública) [editar]