diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 04:52:11 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-09-24 04:52:11 +0000 |
commit | 4e5ae20ff403cdcd14d3b86b18a0d0bcec2f47cc (patch) | |
tree | e224d7b5d871995421ac845db1c9406393b66f67 /base/string_split.h | |
parent | 915a3abe017a65e6f3bcc76d2968df476efc4a6e (diff) | |
download | chromium_src-4e5ae20ff403cdcd14d3b86b18a0d0bcec2f47cc.zip chromium_src-4e5ae20ff403cdcd14d3b86b18a0d0bcec2f47cc.tar.gz chromium_src-4e5ae20ff403cdcd14d3b86b18a0d0bcec2f47cc.tar.bz2 |
base: Finish moving the SplitString functions from string_util.h to string_split.h
BUG=None
TEST=trybos
Review URL: http://codereview.chromium.org/3447008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60422 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/string_split.h')
-rw-r--r-- | base/string_split.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/base/string_split.h b/base/string_split.h index d47337c..c7cb5e7 100644 --- a/base/string_split.h +++ b/base/string_split.h @@ -12,6 +12,33 @@ #include "base/string16.h" +// TODO(tfarina): Move the following functions into the namespace and update the +// callers. +//----------------------------------------------------------------------------- + +// Splits |str| into a vector of strings delimited by |s|. Append the results +// into |r| as they appear. If several instances of |s| are contiguous, or if +// |str| begins with or ends with |s|, then an empty string is inserted. +// +// Every substring is trimmed of any leading or trailing white space. +// Where wchar_t is char16 (i.e. Windows), |c| must be in BMP +// (Basic Multilingual Plane). Elsewhere (Linux/Mac), wchar_t +// should be a valid Unicode code point (32-bit). +void SplitString(const std::wstring& str, + wchar_t c, + std::vector<std::wstring>* r); +// NOTE: |c| must be in BMP (Basic Multilingual Plane) +void SplitString(const string16& str, + char16 c, + std::vector<string16>* r); +// |str| should not be in a multi-byte encoding like Shift-JIS or GBK in which +// the trailing byte of a multi-byte character can be in the ASCII range. +// UTF-8, and other single/multi-byte ASCII-compatible encodings are OK. +// Note: |c| must be in the ASCII range. +void SplitString(const std::string& str, + char c, + std::vector<std::string>* r); + namespace base { bool SplitStringIntoKeyValues( |