From 1ac762945943c16d7d5d8a8a39b057b5da0579ed Mon Sep 17 00:00:00 2001 From: Bananymous Date: Tue, 25 Jun 2024 11:02:52 +0300 Subject: [PATCH] BAN: Implement StringView::rfind() --- BAN/include/BAN/StringView.h | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/BAN/include/BAN/StringView.h b/BAN/include/BAN/StringView.h index 1612ec30..47e0fcab 100644 --- a/BAN/include/BAN/StringView.h +++ b/BAN/include/BAN/StringView.h @@ -165,6 +165,22 @@ namespace BAN return {}; } + BAN::Optional rfind(char ch) const + { + for (size_type i = m_size; i > 0; i--) + if (m_data[i - 1] == ch) + return i - 1; + return {}; + } + + BAN::Optional rfind(bool(*comp)(char)) const + { + for (size_type i = m_size; i > 0; i--) + if (comp(m_data[i - 1])) + return i - 1; + return {}; + } + constexpr bool starts_with(BAN::StringView target) const { if (target.size() > m_size)