| Index: base/string_split.h
|
| ===================================================================
|
| --- base/string_split.h (revision 78949)
|
| +++ base/string_split.h (working copy)
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -10,6 +10,7 @@
|
| #include <utility>
|
| #include <vector>
|
|
|
| +#include "base/base_api.h"
|
| #include "base/string16.h"
|
|
|
| namespace base {
|
| @@ -22,52 +23,52 @@
|
| // 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);
|
| +BASE_API 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);
|
| +BASE_API 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);
|
| +BASE_API void SplitString(const std::string& str,
|
| + char c,
|
| + std::vector<std::string>* r);
|
|
|
| -bool SplitStringIntoKeyValues(
|
| +BASE_API bool SplitStringIntoKeyValues(
|
| const std::string& line,
|
| char key_value_delimiter,
|
| std::string* key, std::vector<std::string>* values);
|
|
|
| -bool SplitStringIntoKeyValuePairs(
|
| +BASE_API bool SplitStringIntoKeyValuePairs(
|
| const std::string& line,
|
| char key_value_delimiter,
|
| char key_value_pair_delimiter,
|
| std::vector<std::pair<std::string, std::string> >* kv_pairs);
|
|
|
| // The same as SplitString, but use a substring delimiter instead of a char.
|
| -void SplitStringUsingSubstr(const string16& str,
|
| - const string16& s,
|
| - std::vector<string16>* r);
|
| -void SplitStringUsingSubstr(const std::string& str,
|
| - const std::string& s,
|
| - std::vector<std::string>* r);
|
| +BASE_API void SplitStringUsingSubstr(const string16& str,
|
| + const string16& s,
|
| + std::vector<string16>* r);
|
| +BASE_API void SplitStringUsingSubstr(const std::string& str,
|
| + const std::string& s,
|
| + std::vector<std::string>* r);
|
|
|
| // The same as SplitString, but don't trim white space.
|
| // NOTE: |c| must be in BMP (Basic Multilingual Plane)
|
| -void SplitStringDontTrim(const string16& str,
|
| - char16 c,
|
| - std::vector<string16>* r);
|
| +BASE_API void SplitStringDontTrim(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 SplitStringDontTrim(const std::string& str,
|
| - char c,
|
| - std::vector<std::string>* r);
|
| +BASE_API void SplitStringDontTrim(const std::string& str,
|
| + char c,
|
| + std::vector<std::string>* r);
|
|
|
| // WARNING: this uses whitespace as defined by the HTML5 spec. If you need
|
| // a function similar to this but want to trim all types of whitespace, then
|
| @@ -77,12 +78,12 @@
|
| // Splits the string along whitespace (where whitespace is the five space
|
| // characters defined by HTML 5). Each contiguous block of non-whitespace
|
| // characters is added to result.
|
| -void SplitStringAlongWhitespace(const std::wstring& str,
|
| - std::vector<std::wstring>* result);
|
| -void SplitStringAlongWhitespace(const string16& str,
|
| - std::vector<string16>* result);
|
| -void SplitStringAlongWhitespace(const std::string& str,
|
| - std::vector<std::string>* result);
|
| +BASE_API void SplitStringAlongWhitespace(const std::wstring& str,
|
| + std::vector<std::wstring>* result);
|
| +BASE_API void SplitStringAlongWhitespace(const string16& str,
|
| + std::vector<string16>* result);
|
| +BASE_API void SplitStringAlongWhitespace(const std::string& str,
|
| + std::vector<std::string>* result);
|
|
|
| } // namespace base
|
|
|
|
|