Standard C++ Library Reference ISO/IEC (VERSION3)

fill_n
template<class OutIt, class Diff, class Ty>
void fill_n(OutIt first, Diff count, const Ty& val);
The template function evaluates *(first + N) = val once for each N in the range [0,
count).
find
template<class InIt, class Ty>
InIt find(InIt first, InIt last, const Ty& val);
The template function determines the lowest value of N in the range [0, last - first) for
which the predicate *(first + N) == val is true. Here, operator== must perform a
pairwise comparison between its operands. It then returns first + N. If no such value exists,
the function returns last. It evaluates the predicate at most once for each N.
find_end
template<class FwdIt1, class FwdIt2>
FwdIt1 find_end(FwdIt1 first1, FwdIt1 last1,
FwdIt2 first2, FwdIt2 last2);
template<class FwdIt1, class FwdIt2, class Pr>
FwdIt1 find_end(FwdIt1 first1, FwdIt1 last1,
FwdIt2 first2, FwdIt2 last2, Pr pred);
The first template function determines the highest value of N in the range [0, last1 -
first1 - (last2 - first2)) such that for each M in the range [0, last2 -
first2), the predicate *(first1 + N + M) == *(first2 + N + M) is true. Here,
operator== must perform a pairwise comparison between its operands. It then returns
first1 + N. If no such value exists, the function returns last1. It evaluates the predicate at
most (last2 - first2) * (last1 - first1 - (last2 - first2) + 1)
times.
The second template function behaves the same, except that the predicate is pred(*(first1
+ N + M), *(first2 + N + M)).
find_first_of
template<class FwdIt1, class FwdIt2>
FwdIt1 find_first_of(FwdIt1 first1, FwdIt1 last1,
FwdIt2 first2, FwdIt2 last2);