Namespaces
Variants

std::flat_multiset<Key,Compare,KeyContainer>:: insert

From cppreference.net
iterator insert ( const value_type & value )
(1) (desde C++23)
iterator insert ( value_type && value ) ;
(2) (desde C++23)
iterator insert ( const_iterator pos, const value_type & value ) ;
(3) (desde C++23)
iterator insert ( const_iterator pos, value_type && value ) ;
(4) (desde C++23)
template < class InputIt >
void insert ( InputIt first, InputIt last ) ;
(5) (desde C++23)
template < class InputIt >
void insert ( std:: sorted_equivalent_t , InputIt first, InputIt last ) ;
(6) (desde C++23)
void insert ( std:: initializer_list < key_type > ilist ) ;
(7) (desde C++23)
void insert ( std:: sorted_equivalent_t s, std:: initializer_list < key_type > ilist ) ;
(8) (desde C++23)

Inserta elemento(s) en el contenedor. Se preserva el orden de los elementos equivalentes restantes.

1) Inserta value . Si el contenedor tiene elementos con clave equivalente, inserta en el límite superior de ese rango. Equivalente a return emplace ( value ) ; .
2) Inserta value . Si el contenedor tiene elementos con clave equivalente, inserta en el límite superior de ese rango. Equivalente a return emplace ( std :: move ( value ) ) ; .
3) Inserta value en la posición lo más cercana posible a la posición inmediatamente anterior a pos . Equivalente a return emplace_hint ( pos, value ) ; .
4) Inserta value en la posición más cercana posible a la posición inmediatamente anterior a pos . Equivalente a return emplace_hint ( pos, std :: move ( value ) ) ; .
5) Inserta elementos del rango [ first , last ) como si realizara las siguientes operaciones secuencialmente:
  1. Agrega elementos a c como si fuera mediante c. insert ( c. end ( ) , first, last ) ; .
  2. Ordena el rango de elementos recién insertados con respecto a compare .
  3. Combina el rango ordenado resultante y el rango ordenado de elementos preexistentes en un único rango ordenado.
Puede asignar memoria durante la etapa de fusión in situ.
6) Inserta elementos del rango [ first , last ) . Equivalente a insert ( first, last ) ; .
7) Inserta elementos desde la lista de inicialización ilist . Equivalente a insert ( ilist. begin ( ) , ilist. end ( ) ) ; .
8) Inserta elementos desde la lista de inicialización ilist . Equivalente a insert ( s, ilist. begin ( ) , ilist. end ( ) ) ; .

Contenidos

Parámetros

pos - iterador a la posición antes de la cual se insertará el nuevo elemento
value - valor del elemento a insertar
first, last - el par de iteradores que define el rango fuente de elementos a insertar
ilist - lista de inicializadores de la cual insertar los valores
s - etiqueta de desambiguación que indica que la secuencia de entrada está ordenada (con respecto a key_compare )
Requisitos de tipo
-
InputIt debe cumplir con los requisitos de LegacyInputIterator .

Valor de retorno

1-4) Un iterador al elemento insertado.
5-8) (ninguno)

Excepciones

1-4) Depende del contenedor subyacente.
5-8) No se ofrece garantía de seguridad ante excepciones.

Complejidad

1-4) Lineal.
5) N + M·log ( M ) , donde N es el size() antes de la operación y M es std:: distance ( first, last ) .
6) Lineal.
7) N + M·log ( M ) , donde N es el size() antes de la operación y M es ilist. size ( ) .
8) Lineal.

Ejemplo

Véase también

construye elemento in situ
(función miembro pública)
construye elementos in situ usando una pista
(función miembro pública)
crea un std::insert_iterator del tipo inferido del argumento
(plantilla de función)