xieite ::find_occur ()
Defined in header <xieite/data/find_occur.hpp>
Finds the Nth occurrence of a subrange or value in a range.
Declarations
#0template <std ::ranges ::forward_range Range ,xieite ::is_fwd_sized_range Subrange ,xieite ::is_lref_invoc <bool (std ::ranges ::range_common_reference_t <Range >,std ::ranges ::range_common_reference_t <Subrange >)>Pred =std ::ranges ::equal_to > [[nodiscard ]]constexpr std ::ranges ::subrange <std ::ranges ::iterator_t <Range >>find_occur (Range & range ,std ::ranges ::range_size_t <Range >n ,Subrange && subrange ,Pred && pred = {})noexcept (xieite ::is_noex_range <Range > &&xieite ::is_noex_range <Subrange > &&xieite ::is_noex_lref_invoc <Pred ,bool (std ::ranges ::range_common_reference_t <Range >,std ::ranges ::range_common_reference_t <Subrange >)>);
#1
template <std ::ranges ::forward_range Range ,xieite ::is_lref_invoc <bool (std ::ranges ::range_common_reference_t <Range >,std ::ranges ::range_common_reference_t <Range >)>Pred =std ::equal_to <>> [[nodiscard ]]constexpr std ::ranges ::iterator_t <Range >find_occur (Range & range ,std ::ranges ::range_size_t <Range >n ,std ::ranges ::range_common_reference_t <const Range >value ,Pred && pred = {})noexcept (xieite ::is_noex_range <Range > &&xieite ::is_noex_lref_invoc <Pred ,bool (std ::ranges ::range_common_reference_t <Range >,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 (array ,3 ,0 ) -array ); }
[View in Compiler Explorer]5