Namespaces
Variants

std::experimental::erase (std::list)

De es.cppreference.net

 
 
Experimental
Especificación técnica
Biblioteca del sistema de archivos (sistema de archivos TS)
Fundamentos de la biblioteca (TS de fundamentos de la biblioteca)
Fundamentos de la biblioteca 2 (TS de fundamentos de la biblioteca v2)
Fundamentos de la biblioteca 3 (TS de fundamentos de la biblioteca v3)
Extensiones para paralelismo (TS de paralelismo)
Extensiones para paralelismo 2 (TS de paralelismo v2)
Extensiones para concurrencia (TS de concurrencia)
Extensiones para concurrencia 2 (TS de concurrencia v2)
Conceptos (TS de conceptos)
Rangos (TS de rangos)
Reflexión (TS de reflexión)
Funciones matemáticas especiales (TR de funciones especiales)
Experimental no TS
Coincidencia de patrones
Álgebra lineal
std::execution
Contratos
Gráficos 2D
 
 
Definido en el encabezado <experimental/list>
template< class T, class A, class U >
void erase( std::list<T, A>& c, const U& value );
(fundamentos de la biblioteca TS v2)

Borra todos los elementos que se comparan igual a value del contenedor. Equivalente a c.remove_if([&](auto& elem) { return elem == value; });.

Parámetros

c - contenedor del cual borrar
value - valor a eliminar

Complejidad

Lineal.

Ejemplo

#include <experimental/list>
#include <iostream>
auto show = [](const auto& container)
{
    for (auto e : container)
        std::cout << e;
    std::cout << '\n';
};
int main()
{
    std::list<int> data{1, 1, 1, 4, 1, 1, 1, 2, 1, 1, 1};
    show(data);
    std::experimental::erase(data, 1);
    show(data);
}

Salida:

11141112111
42

Notas

A diferencia de std::list::remove , esta plantilla de función acepta tipos heterogéneos y no fuerza una conversión al tipo de valor del contenedor antes de invocar el operador == .

Véase también

elimina elementos que satisfacen criterios específicos
(plantilla de función & objeto de función de algoritmo)
elimina elementos que satisfacen criterios específicos
(función miembro pública de std::list<T,Allocator>)
(library fundamentals 2 TS)
elimina todos los elementos que satisfacen un predicado de un std::list
(plantilla de función)