Utility Rack
Loading...
Searching...
No Matches
erase_where.hpp
Go to the documentation of this file.
1
23#ifndef ERASE_WHERE_HPP_INCLUDED
24#define ERASE_WHERE_HPP_INCLUDED
25
26#include <algorithm>
27#include <utility> // std::forward
28
29namespace chops {
30
31template <typename C>
32auto erase_where(C& c, const typename C::value_type& val) {
33 return c.erase(std::remove(c.begin(), c.end(), val), c.end());
34}
35
36template<typename C, typename F>
37auto erase_where_if(C& c, F&& f) {
38 return c.erase(std::remove_if(c.begin(), c.end(), std::forward<F>(f)),
39 c.end());
40}
41
42} // end namespace
43
44#endif
45