From 259b9133f68ef0d740fc871d59fab3d2791f33b4 Mon Sep 17 00:00:00 2001 From: Kargatum Date: Wed, 19 Jan 2022 12:01:59 +0700 Subject: feat(Core/Common): add new helpers for time utility (#10207) --- src/common/Utilities/StringFormat.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/common/Utilities/StringFormat.cpp') diff --git a/src/common/Utilities/StringFormat.cpp b/src/common/Utilities/StringFormat.cpp index 0d8ca27491..83e2d2a468 100644 --- a/src/common/Utilities/StringFormat.cpp +++ b/src/common/Utilities/StringFormat.cpp @@ -16,10 +16,11 @@ */ #include "StringFormat.h" +#include "Define.h" #include template -Str Acore::String::Trim(const Str& s, const std::locale& loc /*= std::locale()*/) +AC_COMMON_API Str Acore::String::Trim(const Str& s, const std::locale& loc /*= std::locale()*/) { typename Str::const_iterator first = s.begin(); typename Str::const_iterator end = s.end(); @@ -49,5 +50,19 @@ Str Acore::String::Trim(const Str& s, const std::locale& loc /*= std::locale()*/ return s; } +std::string Acore::String::TrimRightInPlace(std::string& str) +{ + int pos = int(str.size()) - 1; + + while (pos >= 0 && std::isspace(str[pos])) + { + --pos; + } + + str.resize(static_cast, std::allocator>::size_type>(pos) + 1); + + return str; +} + // Template Trim -template std::string Acore::String::Trim(const std::string& s, const std::locale& loc /*= std::locale()*/); +template AC_COMMON_API std::string Acore::String::Trim(const std::string& s, const std::locale& loc /*= std::locale()*/); -- cgit v1.2.3