diff options
author | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-24 03:06:19 +0100 |
---|---|---|
committer | Andreas Stöckel <astoecke@techfak.uni-bielefeld.de> | 2015-01-24 03:06:19 +0100 |
commit | fcdc9e28805138383c6ef662ea5e3822720b772c (patch) | |
tree | 50e27515357e3924e74de8b92850f9cbce1c373c /src/core/common/Utils.cpp | |
parent | 18d3637ca02ab69f1ee744fa94c43c243de0f571 (diff) |
Added generic trim function
Diffstat (limited to 'src/core/common/Utils.cpp')
-rw-r--r-- | src/core/common/Utils.cpp | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/src/core/common/Utils.cpp b/src/core/common/Utils.cpp index c8fcdc6..f59061a 100644 --- a/src/core/common/Utils.cpp +++ b/src/core/common/Utils.cpp @@ -27,20 +27,8 @@ namespace ousia { std::string Utils::trim(const std::string &s) { - size_t firstNonWhitespace = std::numeric_limits<size_t>::max(); - size_t lastNonWhitespace = 0; - for (size_t i = 0; i < s.size(); i++) { - if (!isWhitespace(s[i])) { - firstNonWhitespace = std::min(i, firstNonWhitespace); - lastNonWhitespace = std::max(i, lastNonWhitespace); - } - } - - if (firstNonWhitespace < lastNonWhitespace) { - return s.substr(firstNonWhitespace, - lastNonWhitespace - firstNonWhitespace + 1); - } - return std::string{}; + std::pair<size_t, size_t> bounds = trim(s, Utils::isWhitespace); + return s.substr(bounds.first, bounds.second - bounds.first); } bool Utils::isIdentifier(const std::string &name) |