std::flat_multimap<Key,T,Compare,KeyContainer,MappedContainer>:: erase
From cppreference.net
<
cpp
|
container
|
flat multimap
|
iterator erase
(
iterator pos
)
;
|
(1) |
(desde C++23)
(constexpr desde C++26) |
|
iterator erase
(
const_iterator pos
)
;
|
(2) |
(desde C++23)
(constexpr desde C++26) |
|
iterator erase
(
const_iterator first, const_iterator last
)
;
|
(3) |
(desde C++23)
(constexpr desde C++26) |
|
size_type erase
(
const
Key
&
key
)
;
|
(4) |
(desde C++23)
(constexpr desde C++26) |
|
template
<
class
K
>
size_type erase ( K && x ) ; |
(5) |
(desde C++23)
(constexpr desde C++26) |
Elimina los elementos especificados del contenedor. El orden de los elementos equivalentes restantes se conserva.
1,2)
Elimina el elemento en la posición
pos
.
3)
Elimina los elementos en el rango
[
first
,
last
)
, que debe ser un rango válido en
*
this
.
4)
Elimina todos los elementos con la clave equivalente a
key
.
5)
Elimina todos los elementos cuya clave sea equivalente al valor
x
.
Esta sobrecarga participa en la resolución de sobrecarga solo si
Compare
es
transparent
, y ni
iterator
ni
const_iterator
son convertibles implícitamente desde
K
. Permite llamar a esta función sin construir una instancia de
Key
.
| La información sobre la invalidación de iteradores está copiada de aquí |
El iterador pos debe ser dereferenciable. Por lo tanto, el iterador end() (que es válido, pero no es dereferenciable) no puede usarse como valor para pos .
Contenidos |
Parámetros
| pos | - | iterador al elemento a eliminar |
| first, last | - | el par de iteradores que definen el rango de elementos a eliminar |
| key | - | valor clave de los elementos a eliminar |
| x | - | un valor de cualquier tipo que puede compararse transparentemente con una clave que denota los elementos a eliminar |
Valor de retorno
1-3)
Iterador que sigue al último elemento eliminado.
4)
Número de elementos eliminados.
5)
Número de elementos eliminados.
Excepciones
1-3)
No lanza nada.
4,5)
Cualquier excepción lanzada por el objeto
Compare
.
Complejidad
Depends on underlying containers. Typically linear.|
Esta sección está incompleta
Razón: requiere revisión |
Ejemplo
Ejecutar este código
#include <flat_map> #include <iostream> int main() { std::flat_multimap<int, std::string> c = { {1, "one"}, {2, "two"}, {3, "three"}, {4, "four"}, {5, "five"}, {6, "six"} }; // eliminar todos los números impares de c for (auto it = c.begin(); it != c.end();) { if (it->first % 2 != 0) it = c.erase(it); else ++it; } for (auto& p : c) std::cout << p.second << ' '; std::cout << '\n'; }
Salida:
two four six
Véase también
|
borra el contenido
(función miembro pública) |