std::flat_map<Key,T,Compare,KeyContainer,MappedContainer>::erase - cppreference.com
De cppreference.com
</tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody> </tbody> <tbody class="t-dcl-rev t-dcl-rev-num "> </tbody><tbody>
| (1) | ||
|
|
(desde C++11) | |
|
|
(desde C++11) | |
| (2) | ||
|
|
(desde C++11) | |
|
|
(3) | (desde {std}) |
|
|
(4) | (desde C++23) |
Borra del contenedor los elementos especificados.
1) Borra el elemento en la posición pos.
2) Borra los elementos en el rango [first; last), que debe ser un rango válido en *this.
3) Borra todos los elementos con la clave equivalente a key.
4) Borra todos los elementos con la clave que se compara equivalente al valor x. Esta sobrecarga solo participa en la resolución de sobrecargas si Hash::is_transparent y KeyEqual::is_transparent son válidos y cada uno denota un tipo, y ni iterator ni const_iterator son convertibles implícitamente de K. Esto supone que tal Hash es invocable con el tipo K y Key, y que el KeyEqual es transparente, lo que, en conjunto, permite llamar a esta función sin construir un ejemplar de Key.
La información sobre la invalidación del iterador se copia de aquí
El iterador pos debe ser válido y desreferenciable. Es por esto que el iterador end() (que es válido, pero no es desreferenciable) no puede usarse como un valor para pos.
Parámetros
| pos | - | Iterador al elemento a borrar. |
| first, last | - | Rango de elementos a borrar. |
| key | - | Valor de la clave de los elementos a borrar. |
| x | - | Un valor de cualquier tipo que se pueda comparar de forma transparente con una clave que indique los elementos a borrar. |
Valor de retorno
1-2) Iterador que sigue al último elemento borrado.
3,4) Número de elementos borrados.
Excepciones
1,2) No lanza nada.
3,4) Cualquier excepción lanzada por el objeto Hash y KeyEqual.
Complejidad
Dada una instancia c de tipo flat_map:
1) Caso promedio: constante en el peor de los casos: c.size()
2) Caso promedio: std::distance(first, last), en el peor de los casos: c.size().
3) Caso promedio: c.count(key), en el peor de los casos: c.size().
4) Caso promedio: c.count(x), en el peor de los casos: c.size().
Ejemplo
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 2059 | C++11 | La sobrecarga para un const_iterator introdujo una nueva ambigüedad.
|
Se agregó la sobrecarga para iterator.
|
Véase también
| Borra el contenido. (función miembro pública) [editar] |