From 1c9c1588c5d07cea181632fc95b0046b6b04758e Mon Sep 17 00:00:00 2001 From: Maxim Mamontov Date: Sat, 10 Jan 2015 21:34:40 +0200 Subject: [PATCH 1/1] Simplified ToLower/ToUpper functions. --- stglibs/common.lib/common.cpp | 17 +++++++---------- stglibs/common.lib/include/stg/common.h | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/stglibs/common.lib/common.cpp b/stglibs/common.lib/common.cpp index 2a26c5ae..d0ff074c 100644 --- a/stglibs/common.lib/common.cpp +++ b/stglibs/common.lib/common.cpp @@ -47,6 +47,7 @@ #include +#include #include #include #include @@ -856,20 +857,16 @@ std::string res(val); return TrimR(TrimL(res)); } //--------------------------------------------------------------------------- -std::string ToLower(const std::string & value) +std::string ToLower(std::string value) { - std::string res; - for (std::string::size_type pos = 0; pos < value.length(); ++pos) - res += tolower(value[pos]); - return res; + std::transform(value.begin(), value.end(), value.begin(), ::tolower); + return value; } //--------------------------------------------------------------------------- -std::string ToUpper(const std::string & value) +std::string ToUpper(std::string value) { - std::string res; - for (std::string::size_type pos = 0; pos < value.length(); ++pos) - res += toupper(value[pos]); - return res; + std::transform(value.begin(), value.end(), value.begin(), ::toupper); + return value; } //--------------------------------------------------------------------------- #ifdef WIN32 diff --git a/stglibs/common.lib/include/stg/common.h b/stglibs/common.lib/include/stg/common.h index ec05adb1..90bd639d 100644 --- a/stglibs/common.lib/include/stg/common.h +++ b/stglibs/common.lib/include/stg/common.h @@ -99,8 +99,8 @@ std::string & TrimR(std::string & val); std::string & Trim(std::string & val); std::string Trim(const std::string & val); -std::string ToLower(const std::string & value); -std::string ToUpper(const std::string & value); +std::string ToLower(std::string value); +std::string ToUpper(std::string value); template inline -- 2.44.2