24 Strings library [strings]

24.3 String classes [string.classes]

24.3.2 Class template basic_­string [basic.string]

24.3.2.7 basic_­string string operations [string.ops]

24.3.2.7.3 basic_­string​::​rfind [string.rfind]

size_type rfind(basic_string_view<charT, traits> sv, size_type pos = npos) const noexcept;
Effects: Determines the highest position xpos, if possible, such that both of the following conditions hold:
  • xpos <= pos and xpos + sv.size() <= size();
  • traits​::​eq(at(xpos + I), sv.at(I)) for all elements I of the data referenced by sv.
Returns: xpos if the function can determine such a value for xpos.
Otherwise, returns npos.
size_type rfind(const basic_string& str, size_type pos = npos) const noexcept;
Effects: Equivalent to: return rfind(basic_­string_­view<charT, traits>(str), pos);
size_type rfind(const charT* s, size_type pos, size_type n) const;
Returns: rfind(basic_­string_­view<charT, traits>(s, n), pos).
size_type rfind(const charT* s, size_type pos = npos) const;
Requires: s points to an array of at least traits​::​length(s) + 1 elements of charT.
Returns: rfind(basic_­string_­view<charT, traits>(s), pos).
size_type rfind(charT c, size_type pos = npos) const;
Returns: rfind(basic_­string(1, c), pos).