10namespace zrythm::utils::collections
14template <std::forward_iterator Iter,
typename Pred>
15 requires std::invocable<Pred, std::iter_reference_t<Iter>>
17find_next_occurrence (Iter current, Iter sentinel, Pred pred,
int n = 1)
19 if (n < 1 || current == sentinel)
22 for (Iter it = std::next (current); it != sentinel; ++it)
24 if (pred (*it) && --n == 0)
33template <std::b
idirectional_iterator Iter,
typename Pred>
34 requires std::invocable<Pred, std::iter_reference_t<Iter>>
36find_prev_occurrence (Iter current, Iter begin, Pred pred,
int n = 1)
38 if (n < 1 || current == begin)
45 if (pred (*it) && --n == 0)