From ae9608d4f69a07c3efcf6ba9f38cb4ac23cc2110 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Thu, 14 Nov 2024 23:23:29 +0100 Subject: Add string_view == operator --- asl/string_view.hpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'asl/string_view.hpp') diff --git a/asl/string_view.hpp b/asl/string_view.hpp index 2e8efff..85f1323 100644 --- a/asl/string_view.hpp +++ b/asl/string_view.hpp @@ -70,6 +70,13 @@ public: ASL_ASSERT(offset >= 0 && offset <= m_size); return string_view{m_data + offset, m_size - offset}; // NOLINT(*-pointer-arithmetic) } + + constexpr bool operator==(string_view other) const + { + if (m_size != other.m_size) { return false; } + // @Todo Remove builtin_memcmp + return __builtin_memcmp(m_data, other.m_data, static_cast(m_size)) == 0; + } }; } // namespace asl @@ -78,5 +85,3 @@ constexpr asl::string_view operator ""_sv(const char* s, size_t len) { return asl::string_view(s, static_cast(len)); } - -// @Todo Make comparison operator, replace in format and string_view tests -- cgit