From b87c4a775b5b625dc2034b70e1232862d5d7faac Mon Sep 17 00:00:00 2001 From: "tfarina@chromium.org" Date: Mon, 15 Nov 2010 22:03:42 +0000 Subject: base: Move StringSplitAlongWhitespace to string_split.h BUG=None TEST=trybots Review URL: http://codereview.chromium.org/5004002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66181 0039d316-1c4b-4281-b951-d872f2087c98 --- base/string_util.cc | 57 ----------------------------------------------------- 1 file changed, 57 deletions(-) (limited to 'base/string_util.cc') diff --git a/base/string_util.cc b/base/string_util.cc index 125c713..d7b6729 100644 --- a/base/string_util.cc +++ b/base/string_util.cc @@ -822,63 +822,6 @@ string16 JoinString(const std::vector& parts, char16 sep) { return JoinStringT(parts, sep); } -template -void SplitStringAlongWhitespaceT(const STR& str, std::vector* result) { - const size_t length = str.length(); - if (!length) - return; - - bool last_was_ws = false; - size_t last_non_ws_start = 0; - for (size_t i = 0; i < length; ++i) { - switch (str[i]) { - // HTML 5 defines whitespace as: space, tab, LF, line tab, FF, or CR. - case L' ': - case L'\t': - case L'\xA': - case L'\xB': - case L'\xC': - case L'\xD': - if (!last_was_ws) { - if (i > 0) { - result->push_back( - str.substr(last_non_ws_start, i - last_non_ws_start)); - } - last_was_ws = true; - } - break; - - default: // Not a space character. - if (last_was_ws) { - last_was_ws = false; - last_non_ws_start = i; - } - break; - } - } - if (!last_was_ws) { - result->push_back( - str.substr(last_non_ws_start, length - last_non_ws_start)); - } -} - -void SplitStringAlongWhitespace(const std::wstring& str, - std::vector* result) { - SplitStringAlongWhitespaceT(str, result); -} - -#if !defined(WCHAR_T_IS_UTF16) -void SplitStringAlongWhitespace(const string16& str, - std::vector* result) { - SplitStringAlongWhitespaceT(str, result); -} -#endif - -void SplitStringAlongWhitespace(const std::string& str, - std::vector* result) { - SplitStringAlongWhitespaceT(str, result); -} - template OutStringType DoReplaceStringPlaceholders(const FormatStringType& format_string, const std::vector& subst, std::vector* offsets) { -- cgit v1.1