On 2013-01-15 08:24, Tavi Cacina wrote: > Am 15.01.2013 01:55, schrieb Stewart Gordon: >> vec.erase(std::remove(vec.begin(), vec.end(), val), vec.end()); > > That piece of code is correct. > http://en.wikipedia.org/wiki/Erase-remove_idiom All thanks to a terrible naming decision... It's not remove but move_to_end. Why call it remove?