Полагаю, вы думаете о remove_if
, который использует предикат для определения необходимости удаления элемента.
remove_if
возвращает итератор, указывающий наначало элементов для удаления в контейнере.Чтобы фактически удалить их, вам нужно использовать erase
:
container.erase(remove_if(container.start(), container.end(), pred), container.end())
Или это, или, возможно, вы ошибочно вспомнили алгоритм copy_if
?Который каким-то образом остался вне стандарта, но был написан и реализован в Effective STL .