20 #ifndef RIPPLE_ALGORITHM_H_INCLUDED
21 #define RIPPLE_ALGORITHM_H_INCLUDED
34 template <
class InputIter1,
class InputIter2,
class Action,
class Comp>
37 InputIter2 first2, InputIter2 last2,
38 Action action, Comp comp)
40 while (first1 != last1 && first2 != last2)
43 if (comp(*first1, *first2))
47 if (!comp(*first2, *first1))
49 action(*first1, *first2);
67 template <
class FwdIter1,
class InputIter2,
class Pred,
class Comp>
70 InputIter2 first2, InputIter2 last2,
78 for (
auto i = first1; i != last1;)
81 if (first2 == last2 || comp(*i, *first2))
87 *first1 = std::move(*i);
97 if (!comp(*first2, *i))