diff options
author | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-07 23:01:39 +0000 |
---|---|---|
committer | tfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-02-07 23:01:39 +0000 |
commit | 5ae0b763e63ce7595542237a5172138da1674293 (patch) | |
tree | d15fc21e5c8b2eeea6a08bce305ad738d1347090 | |
parent | 2254f2189de2e8d1f823dbf4affe90a5843dfaf2 (diff) | |
download | chromium_src-5ae0b763e63ce7595542237a5172138da1674293.zip chromium_src-5ae0b763e63ce7595542237a5172138da1674293.tar.gz chromium_src-5ae0b763e63ce7595542237a5172138da1674293.tar.bz2 |
Move string_split to base/strings.
R=brettw@chromium.org
Review URL: https://chromiumcodereview.appspot.com/12218059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181380 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | base/base.gyp | 2 | ||||
-rw-r--r-- | base/base.gypi | 3 | ||||
-rw-r--r-- | base/command_line.cc | 2 | ||||
-rw-r--r-- | base/nix/mime_util_xdg.cc | 2 | ||||
-rw-r--r-- | base/process_linux.cc | 2 | ||||
-rw-r--r-- | base/process_util_freebsd.cc | 2 | ||||
-rw-r--r-- | base/process_util_linux.cc | 2 | ||||
-rw-r--r-- | base/process_util_openbsd.cc | 2 | ||||
-rw-r--r-- | base/string_split.h | 79 | ||||
-rw-r--r-- | base/strings/string_split.cc (renamed from base/string_split.cc) | 2 | ||||
-rw-r--r-- | base/strings/string_split.h | 81 | ||||
-rw-r--r-- | base/strings/string_split_unittest.cc (renamed from base/string_split_unittest.cc) | 2 | ||||
-rw-r--r-- | base/test/test_file_util_win.cc | 4 | ||||
-rw-r--r-- | base/version.cc | 2 | ||||
-rw-r--r-- | base/vlog.cc | 2 |
15 files changed, 101 insertions, 88 deletions
diff --git a/base/base.gyp b/base/base.gyp index 1ae1d3b..ca3e0e4 100644 --- a/base/base.gyp +++ b/base/base.gyp @@ -527,10 +527,10 @@ 'stl_util_unittest.cc', 'string16_unittest.cc', 'string_piece_unittest.cc', - 'string_split_unittest.cc', 'string_util_unittest.cc', 'stringprintf_unittest.cc', 'strings/string_number_conversions_unittest.cc', + 'strings/string_split_unittest.cc', 'strings/string_tokenizer_unittest.cc', 'strings/stringize_macros_unittest.cc', 'strings/sys_string_conversions_mac_unittest.mm', diff --git a/base/base.gypi b/base/base.gypi index f766141..9f588c8 100644 --- a/base/base.gypi +++ b/base/base.gypi @@ -386,7 +386,6 @@ 'stl_util.h', 'string_piece.cc', 'string_piece.h', - 'string_split.cc', 'string_split.h', 'string_util.cc', 'string_util.h', @@ -396,6 +395,8 @@ 'string16.h', 'stringprintf.cc', 'stringprintf.h', + 'strings/string_split.cc', + 'strings/string_split.h', 'strings/string_number_conversions.cc', 'strings/string_number_conversions.h', 'strings/string_tokenizer.h', diff --git a/base/command_line.cc b/base/command_line.cc index f4553ea..b366165 100644 --- a/base/command_line.cc +++ b/base/command_line.cc @@ -10,8 +10,8 @@ #include "base/basictypes.h" #include "base/file_path.h" #include "base/logging.h" -#include "base/string_split.h" #include "base/string_util.h" +#include "base/strings/string_split.h" #include "base/utf_string_conversions.h" #include "build/build_config.h" diff --git a/base/nix/mime_util_xdg.cc b/base/nix/mime_util_xdg.cc index 329102a..63760bd 100644 --- a/base/nix/mime_util_xdg.cc +++ b/base/nix/mime_util_xdg.cc @@ -16,8 +16,8 @@ #include "base/memory/scoped_ptr.h" #include "base/memory/singleton.h" #include "base/nix/xdg_util.h" -#include "base/string_split.h" #include "base/string_util.h" +#include "base/strings/string_split.h" #include "base/synchronization/lock.h" #include "base/third_party/xdg_mime/xdgmime.h" #include "base/threading/thread_restrictions.h" diff --git a/base/process_linux.cc b/base/process_linux.cc index fcec287..09fb9eb 100644 --- a/base/process_linux.cc +++ b/base/process_linux.cc @@ -11,7 +11,7 @@ #include "base/lazy_instance.h" #include "base/logging.h" #include "base/stringprintf.h" -#include "base/string_split.h" +#include "base/strings/string_split.h" #include "base/synchronization/lock.h" namespace { diff --git a/base/process_util_freebsd.cc b/base/process_util_freebsd.cc index 8ff1ba9..3be93c2 100644 --- a/base/process_util_freebsd.cc +++ b/base/process_util_freebsd.cc @@ -19,10 +19,10 @@ #include "base/file_util.h" #include "base/logging.h" -#include "base/string_split.h" #include "base/string_tokenizer.h" #include "base/string_util.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" #include "base/sys_info.h" namespace base { diff --git a/base/process_util_linux.cc b/base/process_util_linux.cc index 31660b0..92e7c47 100644 --- a/base/process_util_linux.cc +++ b/base/process_util_linux.cc @@ -12,9 +12,9 @@ #include "base/file_util.h" #include "base/logging.h" -#include "base/string_split.h" #include "base/string_util.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" #include "base/strings/string_tokenizer.h" #include "base/sys_info.h" #include "base/threading/thread_restrictions.h" diff --git a/base/process_util_openbsd.cc b/base/process_util_openbsd.cc index 3e2402c..328f45b 100644 --- a/base/process_util_openbsd.cc +++ b/base/process_util_openbsd.cc @@ -20,10 +20,10 @@ #include "base/file_util.h" #include "base/logging.h" -#include "base/string_split.h" #include "base/string_tokenizer.h" #include "base/string_util.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" #include "base/sys_info.h" #include "base/threading/thread_restrictions.h" diff --git a/base/string_split.h b/base/string_split.h index f8022e3..748bcc4 100644 --- a/base/string_split.h +++ b/base/string_split.h @@ -1,81 +1,12 @@ -// Copyright (c) 2012 The Chromium Authors. All rights reserved. +// Copyright 2013 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. #ifndef BASE_STRING_SPLIT_H_ #define BASE_STRING_SPLIT_H_ -#include <string> -#include <utility> -#include <vector> +// TODO(tfarina) remove this file when all callers are updated to the new +// location. +#include "base/strings/string_split.h" -#include "base/base_export.h" -#include "base/string16.h" - -namespace base { - -// Splits |str| into a vector of strings delimited by |s|, placing the results -// in |r|. 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. -// NOTE: |c| must be in BMP (Basic Multilingual Plane) -BASE_EXPORT 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. -BASE_EXPORT void SplitString(const std::string& str, - char c, - std::vector<std::string>* r); - -BASE_EXPORT bool SplitStringIntoKeyValues( - const std::string& line, - char key_value_delimiter, - std::string* key, std::vector<std::string>* values); - -BASE_EXPORT 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. -BASE_EXPORT void SplitStringUsingSubstr(const string16& str, - const string16& s, - std::vector<string16>* r); -BASE_EXPORT 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) -BASE_EXPORT 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. -BASE_EXPORT 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 -// factor this out into a function that takes a string containing the characters -// that are treated as whitespace. -// -// 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. -BASE_EXPORT void SplitStringAlongWhitespace(const string16& str, - std::vector<string16>* result); -BASE_EXPORT void SplitStringAlongWhitespace(const std::string& str, - std::vector<std::string>* result); - -} // namespace base - -#endif // BASE_STRING_SPLIT_H +#endif // BASE_STRING_SPLIT_H_ diff --git a/base/string_split.cc b/base/strings/string_split.cc index e5befcf..f5f19e9 100644 --- a/base/string_split.cc +++ b/base/strings/string_split.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/string_split.h" +#include "base/strings/string_split.h" #include "base/logging.h" #include "base/string_util.h" diff --git a/base/strings/string_split.h b/base/strings/string_split.h new file mode 100644 index 0000000..2ce2585 --- /dev/null +++ b/base/strings/string_split.h @@ -0,0 +1,81 @@ +// Copyright (c) 2012 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. + +#ifndef BASE_STRINGS_STRING_SPLIT_H_ +#define BASE_STRINGS_STRING_SPLIT_H_ + +#include <string> +#include <utility> +#include <vector> + +#include "base/base_export.h" +#include "base/string16.h" + +namespace base { + +// Splits |str| into a vector of strings delimited by |s|, placing the results +// in |r|. 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. +// NOTE: |c| must be in BMP (Basic Multilingual Plane) +BASE_EXPORT 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. +BASE_EXPORT void SplitString(const std::string& str, + char c, + std::vector<std::string>* r); + +BASE_EXPORT bool SplitStringIntoKeyValues(const std::string& line, + char key_value_delimiter, + std::string* key, + std::vector<std::string>* values); + +BASE_EXPORT 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. +BASE_EXPORT void SplitStringUsingSubstr(const string16& str, + const string16& s, + std::vector<string16>* r); +BASE_EXPORT 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) +BASE_EXPORT 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. +BASE_EXPORT 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 +// factor this out into a function that takes a string containing the characters +// that are treated as whitespace. +// +// 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. +BASE_EXPORT void SplitStringAlongWhitespace(const string16& str, + std::vector<string16>* result); +BASE_EXPORT void SplitStringAlongWhitespace(const std::string& str, + std::vector<std::string>* result); + +} // namespace base + +#endif // BASE_STRINGS_STRING_SPLIT_H_ diff --git a/base/string_split_unittest.cc b/base/strings/string_split_unittest.cc index a4412e4..a950cac 100644 --- a/base/string_split_unittest.cc +++ b/base/strings/string_split_unittest.cc @@ -2,7 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "base/string_split.h" +#include "base/strings/string_split.h" #include "base/utf_string_conversions.h" #include "testing/gmock/include/gmock/gmock.h" diff --git a/base/test/test_file_util_win.cc b/base/test/test_file_util_win.cc index 41d69ea..daaa414 100644 --- a/base/test/test_file_util_win.cc +++ b/base/test/test_file_util_win.cc @@ -13,9 +13,9 @@ #include "base/file_path.h" #include "base/file_util.h" #include "base/logging.h" -#include "base/string_split.h" -#include "base/win/scoped_handle.h" +#include "base/strings/string_split.h" #include "base/threading/platform_thread.h" +#include "base/win/scoped_handle.h" namespace file_util { diff --git a/base/version.cc b/base/version.cc index 2364c6d..f758733 100644 --- a/base/version.cc +++ b/base/version.cc @@ -7,9 +7,9 @@ #include <algorithm> #include "base/logging.h" -#include "base/string_split.h" #include "base/string_util.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" namespace { diff --git a/base/vlog.cc b/base/vlog.cc index 3fc0f08..9465054 100644 --- a/base/vlog.cc +++ b/base/vlog.cc @@ -6,8 +6,8 @@ #include "base/basictypes.h" #include "base/logging.h" -#include "base/string_split.h" #include "base/strings/string_number_conversions.h" +#include "base/strings/string_split.h" namespace logging { |