34 template<
typename T,
typename FN>
35 bool contains(
const T& container, FN fn)
37 return std::any_of(container.begin(), container.end(), fn);
40 template<
typename T,
typename FN>
41 void sort(T& container, FN fn)
43 std::sort(container.begin(), container.end(), fn);
46 template<
typename T,
typename FN>
47 typename T::iterator find(T& container, FN fn)
49 return std::find_if(container.begin(), container.end(), fn);
52 template<
typename T,
typename FN>
53 typename T::const_iterator find(
const T& container, FN fn)
55 return std::find_if(container.begin(), container.end(), fn);
59 constexpr
typename std::add_const<T>::type& AsConst(T& t) {
63 template<
typename T,
typename FN>
64 int indexOf(
const T& container, FN fn) {
65 auto it = Algorithm::find(container, fn);
66 if(it == container.end())
70 return std::distance(container.begin(), it);
73 template<
class Container,
typename FN>
74 int count_if(
const Container& container, FN fn)
76 return std::count_if(container.begin(), container.end(), fn);
79 template<
class Container>
80 void remove_duplicates(Container& container)
82 for(
auto it=container.begin(); it != container.end(); it++)
86 std::remove(it + 1, container.end(), *it),
Helper functions.
Definition: GenreView.h:35