From 629b6462dc12593f18df562b942ab8e52054a763 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Tue, 7 Mar 2023 19:53:21 +0100 Subject: [PATCH] AK: Add FlyString::equals_ignoring_ascii_case() This is similar to equals_ignoring_case() but only cares about ASCII case insensitivity. --- AK/FlyString.cpp | 8 ++++++++ AK/FlyString.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/AK/FlyString.cpp b/AK/FlyString.cpp index f19f1daaa4..d8795e1019 100644 --- a/AK/FlyString.cpp +++ b/AK/FlyString.cpp @@ -178,4 +178,12 @@ ErrorOr Formatter::format(FormatBuilder& builder, FlyString con return Formatter::format(builder, fly_string.bytes_as_string_view()); } +bool FlyString::equals_ignoring_ascii_case(FlyString const& other) const +{ + if (*this == other) + return true; + // FIXME: Rename StringUtils::equals_ignoring_case to equals_ignoring_ascii_case. + return StringUtils::equals_ignoring_case(bytes_as_string_view(), other.bytes_as_string_view()); +} + } diff --git a/AK/FlyString.h b/AK/FlyString.h index 28e6de22ca..5ca49836fe 100644 --- a/AK/FlyString.h +++ b/AK/FlyString.h @@ -54,6 +54,9 @@ public: // FIXME: Remove this once all code has been ported to FlyString [[nodiscard]] DeprecatedFlyString to_deprecated_fly_string() const; + // Compare this FlyString against another string with ASCII caseless matching. + [[nodiscard]] bool equals_ignoring_ascii_case(FlyString const&) const; + private: // This will hold either the pointer to the Detail::StringData it represents or the raw bytes of // an inlined short string.