From 8c8ea86729536b994ca9a857506161a23d62fe12 Mon Sep 17 00:00:00 2001 From: Shannon Booth Date: Mon, 6 Nov 2023 23:59:15 +1300 Subject: [PATCH] AK: Add FlyString::starts_with_bytes and FlyString::ends_with_bytes Mirroring the API for String --- AK/FlyString.cpp | 10 ++++++++++ AK/FlyString.h | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/AK/FlyString.cpp b/AK/FlyString.cpp index aa870ebba4..b373cbedd8 100644 --- a/AK/FlyString.cpp +++ b/AK/FlyString.cpp @@ -205,4 +205,14 @@ bool FlyString::equals_ignoring_ascii_case(StringView other) const return StringUtils::equals_ignoring_ascii_case(bytes_as_string_view(), other); } +bool FlyString::starts_with_bytes(StringView bytes, CaseSensitivity case_sensitivity) const +{ + return bytes_as_string_view().starts_with(bytes, case_sensitivity); +} + +bool FlyString::ends_with_bytes(StringView bytes, CaseSensitivity case_sensitivity) const +{ + return bytes_as_string_view().ends_with(bytes, case_sensitivity); +} + } diff --git a/AK/FlyString.h b/AK/FlyString.h index 7503913f90..1647af82b5 100644 --- a/AK/FlyString.h +++ b/AK/FlyString.h @@ -69,6 +69,10 @@ public: [[nodiscard]] bool equals_ignoring_ascii_case(FlyString const&) const; [[nodiscard]] bool equals_ignoring_ascii_case(StringView) const; + [[nodiscard]] bool starts_with_bytes(StringView, CaseSensitivity = CaseSensitivity::CaseSensitive) const; + + [[nodiscard]] bool ends_with_bytes(StringView, CaseSensitivity = CaseSensitivity::CaseSensitive) const; + template [[nodiscard]] ALWAYS_INLINE constexpr bool is_one_of(Ts... strings) const {