Mercurial > code
changeset 614:687b42509012
Misc: remove strip, there is alternative in boost
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 21 Aug 2017 11:14:05 +0200 |
parents | 1c9d99ac4b68 |
children | e8661a550a12 |
files | misc/strip.hpp misc/test-all.cpp misc/test-strip.cpp |
diffstat | 3 files changed, 0 insertions(+), 133 deletions(-) [+] |
line wrap: on
line diff
--- a/misc/strip.hpp Mon Aug 21 11:09:58 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,41 +0,0 @@ -/* - * strip.hpp -- remove leading and trailing spaces - * - * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -/** - * \file strip.hpp - * \brief Strip function - */ - -#include <algorithm> -#include <cctype> - -/** - * Remove leading and trailing spaces. - * - * \param str the string - * \return the removed white spaces - */ -std::string strip(std::string str) -{ - auto test = [] (char c) { return !std::isspace(c); }; - - str.erase(str.begin(), std::find_if(str.begin(), str.end(), test)); - str.erase(std::find_if(str.rbegin(), str.rend(), test).base(), str.end()); - - return str; -} \ No newline at end of file
--- a/misc/test-all.cpp Mon Aug 21 11:09:58 2017 +0200 +++ b/misc/test-all.cpp Mon Aug 21 11:14:05 2017 +0200 @@ -19,7 +19,6 @@ #include <gtest/gtest.h> #include "test-join.cpp" -#include "test-strip.cpp" int main(int argc, char **argv) {
--- a/misc/test-strip.cpp Mon Aug 21 11:09:58 2017 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,91 +0,0 @@ -/* - * test-strip.cpp -- test strip function - * - * Copyright (c) 2013-2016 David Demelier <markand@malikania.fr> - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include "strip.hpp" - -TEST(Strip, left) -{ - std::string value = " 123"; - std::string result = strip(value); - - ASSERT_EQ("123", result); -} - -TEST(Strip, right) -{ - std::string value = "123 "; - std::string result = strip(value); - - ASSERT_EQ("123", result); -} - -TEST(Strip, both) -{ - std::string value = " 123 "; - std::string result = strip(value); - - ASSERT_EQ("123", result); -} - -TEST(Strip, none) -{ - std::string value = "without"; - std::string result = strip(value); - - ASSERT_EQ("without", result); -} - -TEST(Strip, betweenEmpty) -{ - std::string value = "one list"; - std::string result = strip(value); - - ASSERT_EQ("one list", result); -} - -TEST(Strip, betweenLeft) -{ - std::string value = " space at left"; - std::string result = strip(value); - - ASSERT_EQ("space at left", result); -} - -TEST(Strip, betweenRight) -{ - std::string value = "space at right "; - std::string result = strip(value); - - ASSERT_EQ("space at right", result); -} - -TEST(Strip, betweenBoth) -{ - std::string value = " space at both "; - std::string result = strip(value); - - ASSERT_EQ("space at both", result); -} - -TEST(Strip, empty) -{ - std::string value = " "; - std::string result = strip(value); - - ASSERT_EQ("", result); -} \ No newline at end of file