aboutsummaryrefslogtreecommitdiff
path: root/toolsrc/src/vcpkg_Strings.cpp
diff options
context:
space:
mode:
authorAlexander Karatarakis <alkarata@microsoft.com>2016-12-16 16:02:19 -0800
committerAlexander Karatarakis <alkarata@microsoft.com>2016-12-16 16:02:19 -0800
commita5c3fddfe7bc4f765a0efdd9b109709f2fb4ae9c (patch)
tree043d9722d107036dd84ab7212ffd62f421fa1e25 /toolsrc/src/vcpkg_Strings.cpp
parentbd50778cb53d7071d65159f0aa67e685a6628e19 (diff)
downloadvcpkg-a5c3fddfe7bc4f765a0efdd9b109709f2fb4ae9c.tar.gz
vcpkg-a5c3fddfe7bc4f765a0efdd9b109709f2fb4ae9c.zip
Add Strings::trim_all_and_remove_whitespace_strings()
Diffstat (limited to 'toolsrc/src/vcpkg_Strings.cpp')
-rw-r--r--toolsrc/src/vcpkg_Strings.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/toolsrc/src/vcpkg_Strings.cpp b/toolsrc/src/vcpkg_Strings.cpp
index 4859a480b..403900dae 100644
--- a/toolsrc/src/vcpkg_Strings.cpp
+++ b/toolsrc/src/vcpkg_Strings.cpp
@@ -9,6 +9,7 @@
namespace vcpkg {namespace Strings {namespace details
{
+ // To disambiguate between two overloads
static const auto isspace = [](const char c)
{
return std::isspace(c);
@@ -105,4 +106,13 @@ namespace vcpkg {namespace Strings
auto whitespace_back = std::find_if_not(s.rbegin(), s.rend(), details::isspace).base();
return (whitespace_back <= whitespace_front ? std::string() : std::string(whitespace_front, whitespace_back));
}
+
+ void trim_all_and_remove_whitespace_strings(std::vector<std::string>* strings)
+ {
+ strings->erase(std::remove_if(strings->begin(), strings->end(), [](std::string& s)-> bool
+ {
+ trim(&s);
+ return s == "";
+ }), strings->end());
+ }
}}