xieite ::find_occur_if ()
Defined in header <xieite/data/find_occur_if.hpp>
Returns a view to the Nth occurrence of a subrange or value in a range for which a predicate functor returns
true
.Declarations
#0template <std ::ranges ::forward_range Range ,xieite ::is_lref_invoc <bool (std ::ranges ::subrange <std ::ranges ::iterator_t <Range >>)>Pred =std ::identity > [[nodiscard ]]constexpr std ::ranges ::subrange <std ::ranges ::iterator_t <Range >>find_occur_if (Range & range ,std ::ranges ::range_size_t <Range >n ,std ::ranges ::range_size_t <Range >subrange_size ,Pred && pred = {})noexcept (xieite ::is_noex_range <Range > &&xieite ::is_noex_invoc <Pred ,bool (std ::ranges ::subrange <std ::ranges ::iterator_t <Range >>)>);
#1
template <std ::ranges ::forward_range Range ,xieite ::is_lref_invoc <bool (std ::ranges ::range_common_reference_t <Range >)>Pred =std ::identity > [[nodiscard ]]constexpr std ::ranges ::iterator_t <Range >find_occur_if (Range & range ,std ::ranges ::range_size_t <Range >n ,Pred && pred = {})noexcept (xieite ::is_noex_range <Range > &&xieite ::is_noex_invoc <Pred ,bool (std ::ranges ::range_common_reference_t <Range >)>);
Example
Output:int main () {int array [] = {0 ,0 ,2 ,1 ,0 ,0 ,0 ,4 ,0 };xieite ::dump (xieite ::find_occur_if (array ,2 ) -array ); }
[View in Compiler Explorer]7