From 0c7153db084060034092c1dc24222cae384722ec Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 8 Jan 2022 19:24:44 +0800 Subject: ... --- src/common/String.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'src/common/String.cpp') diff --git a/src/common/String.cpp b/src/common/String.cpp index ade2a72d..1c2ff022 100644 --- a/src/common/String.cpp +++ b/src/common/String.cpp @@ -206,7 +206,7 @@ String::iterator String::erase(const_iterator start, const_iterator end) { auto s = const_cast(start); auto e = const_cast(end); - std::memmove(e, s, (cend() - end) * sizeof(value_type)); + std::memmove(s, e, (cend() - end) * sizeof(value_type)); this->size_ = new_size; this->buffer_[new_size] = 0; @@ -298,6 +298,16 @@ std::vector String::SplitToLines(bool remove_space_line) const { return result; } +bool String::StartWith(StringView str) const { + if (str.size() > size_) return false; + return std::memcmp(str.data(), buffer_, str.size()) == 0; +} + +bool String::EndWith(StringView str) const { + if (str.size() > size_) return false; + return std::memcmp(str.data(), buffer_ + size_ - str.size(), str.size()) == 0; +} + std::string String::ToUtf8() const { return cru::ToUtf8(buffer_, size_); } void String::AppendCodePoint(CodePoint code_point) { -- cgit v1.2.3