Операция list::remove_if()
template < class Predicate >
void list::remove_if( Predicate pred );
Операция remove_if() удаляет все элементы, для которых выполняется указанное условие, т.е. предикат pred возвращает true. Например:
class Even {
public:
bool operator()( int elem ) { return ! (elem % 2 ); }
};
ilist1.remove_if( Even() );
удаляет все четные числа из списка, определенного при рассмотрении merge().