20 #ifndef RIPPLE_ALGORITHM_H_INCLUDED
21 #define RIPPLE_ALGORITHM_H_INCLUDED
34 template <
class InputIter1,
class InputIter2,
class Action,
class Comp>
44 while (first1 != last1 && first2 != last2)
46 if (comp(*first1, *first2))
50 if (!comp(*first2, *first1))
52 action(*first1, *first2);
72 template <
class FwdIter1,
class InputIter2,
class Pred,
class Comp>
87 for (
auto i = first1; i != last1;)
90 if (first2 == last2 || comp(*i, *first2))
96 *first1 = std::move(*i);
106 if (!comp(*first2, *i))