From 34ffda2f0cc9d884f3f6062d4a264db5ba76180a Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Tue, 18 Nov 2025 09:49:47 +0100 Subject: feat: chunk_string: class` performance improvements. and new operator overload. Signed-off-by: Amlal El Mahrouss --- dev/lib/core/chunk_string.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'dev/lib') diff --git a/dev/lib/core/chunk_string.hpp b/dev/lib/core/chunk_string.hpp index 77e6864..7e5360c 100644 --- a/dev/lib/core/chunk_string.hpp +++ b/dev/lib/core/chunk_string.hpp @@ -46,6 +46,19 @@ namespace ocl basic_chunk_string(const basic_chunk_string&) = delete; public: + /// @brief Append a std::basic_string to the chunk string. + basic_chunk_string& operator+=(const char_type* in) + { + if (in == nullptr || bad_) + return *this; + + const auto& sz = std::strlen(in); + + this->operator+=(std::basic_string(in, sz)); + + return *this; + } + basic_chunk_string& operator+=(const std::basic_string& in) { if (in.empty() || bad_) @@ -76,6 +89,7 @@ namespace ocl return *this; } + /// @brief Convert to basic_string or return from cache. std::basic_string str() const noexcept { static std::basic_string ret; -- cgit v1.2.3