588 {
589 if (!s || count == 0) {
592 }
594 fl::size maxStart =
mLength - count;
596 if (searchStart + count >
mLength) searchStart = maxStart;
597 const char* str =
c_str();
598 for (fl::size i = searchStart + 1; i > 0; --i) {
599 fl::size idx = i - 1;
600 if (idx + count >
mLength)
continue;
601 bool match = true;
602 for (fl::size j = 0; j < count; ++j) {
603 if (str[idx + j] != s[j]) { match = false; break; }
604 }
605 if (match) return idx;
606 }
608}
static constexpr fl::size npos
const char * c_str() const FL_NO_EXCEPT