1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 00:07:43 +00:00

AK: Add support for AK::StringView literals with operator""sv

A new operator, operator""sv was added as of C++17 to support
string_view literals. This allows string_views to be constructed
from string literals and with no runtime cost to find the string
length.

See: https://en.cppreference.com/w/cpp/string/basic_string_view/operator%22%22sv

This change implements that functionality in AK::StringView.
We do have to suppress some warnings about implementing reserved
operators as we are essentially implementing STL functions in AK
as we have no STL :).
This commit is contained in:
Brian Gianforcaro 2021-02-24 04:50:00 -08:00 committed by Andreas Kling
parent a48d54dfc5
commit 31e1b08e15
4 changed files with 17 additions and 3 deletions

View file

@ -213,4 +213,9 @@ struct Traits<StringView> : public GenericTraits<String> {
}
[[nodiscard]] ALWAYS_INLINE constexpr AK::StringView operator"" sv(const char* cstring, size_t length)
{
return AK::StringView(cstring, length);
}
using AK::StringView;