21 Strings library [strings]

21.3 String classes [string.classes]

21.3.3 Non-member functions [string.nonmembers]

21.3.3.5 Erasure [string.erasure]

template<class charT, class traits, class Allocator, class U> constexpr void erase(basic_string<charT, traits, Allocator>& c, const U& value);
Effects: Equivalent to: c.erase(remove(c.begin(), c.end(), value), c.end());
template<class charT, class traits, class Allocator, class Predicate> constexpr void erase_if(basic_string<charT, traits, Allocator>& c, Predicate pred);
Effects: Equivalent to: c.erase(remove_­if(c.begin(), c.end(), pred), c.end());