std::experimental::erase (std::list)
С ru.cppreference.net
< C++ | экспериментальные
| Определён в заголовке <experimental/list>
|
||
template< class T, class A, class U >
void erase( std::list<T, A>& c, const U& value );
|
(library fundamentals TS v2) | |
Удаляет все элементы, которые равны value из контейнера. Эквивалентно c.remove_if([&](auto& elem) { return elem == value; });.
Параметры
| c | - | контейнер, из которого производится удаление |
| value | - | значение для удаления |
Сложность
Линейный.
Пример
Запустить этот код
Вывод:
11141112111 42
Примечания
В отличие от std::list::remove , этот шаблон функции принимает гетерогенные типы и не принудительно выполняет преобразование в тип значения контейнера перед вызовом оператора == .
См. также
| удаляет элементы, удовлетворяющие заданным критериям (шаблон функции & объект-функция алгоритма) | |
(C++20)(C++20) |
|
| удаляет элементы, удовлетворяющие заданным критериям (открытая функция-член std::list<T,Allocator>)
| |
(фундаментальные библиотеки 2 TS) |
удаляет все элементы, удовлетворяющие предикату, из std::list (шаблон функции) |