20 #ifndef RIPPLE_ALGORITHM_H_INCLUDED
21 #define RIPPLE_ALGORITHM_H_INCLUDED
35 template <
class InputIter1,
class InputIter2,
class Action,
class Comp>
45 while (first1 != last1 && first2 != last2)
47 if (comp(*first1, *first2))
51 if (!comp(*first2, *first1))
53 action(*first1, *first2);
73 template <
class FwdIter1,
class InputIter2,
class Pred,
class Comp>
88 for (
auto i = first1; i != last1;)
91 if (first2 == last2 || comp(*i, *first2))
97 *first1 = std::move(*i);
107 if (!comp(*first2, *i))