xref: /aosp_15_r20/external/cronet/base/strings/string_split_win.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2020 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "base/strings/string_split_win.h"
6 
7 #include <string>
8 #include <string_view>
9 #include <vector>
10 
11 #include "base/strings/string_piece.h"
12 #include "base/strings/string_split_internal.h"
13 
14 namespace base {
15 
16 namespace internal {
17 
18 template <>
WhitespaceForType()19 inline std::wstring_view WhitespaceForType<wchar_t>() {
20   return kWhitespaceWide;
21 }
22 
23 }  // namespace internal
24 
SplitString(std::wstring_view input,std::wstring_view separators,WhitespaceHandling whitespace,SplitResult result_type)25 std::vector<std::wstring> SplitString(std::wstring_view input,
26                                       std::wstring_view separators,
27                                       WhitespaceHandling whitespace,
28                                       SplitResult result_type) {
29   return internal::SplitStringT<std::wstring>(input, separators, whitespace,
30                                               result_type);
31 }
32 
SplitStringPiece(std::wstring_view input,std::wstring_view separators,WhitespaceHandling whitespace,SplitResult result_type)33 std::vector<std::wstring_view> SplitStringPiece(std::wstring_view input,
34                                                 std::wstring_view separators,
35                                                 WhitespaceHandling whitespace,
36                                                 SplitResult result_type) {
37   return internal::SplitStringT<std::wstring_view>(input, separators,
38                                                    whitespace, result_type);
39 }
40 
SplitStringUsingSubstr(std::wstring_view input,std::wstring_view delimiter,WhitespaceHandling whitespace,SplitResult result_type)41 std::vector<std::wstring> SplitStringUsingSubstr(std::wstring_view input,
42                                                  std::wstring_view delimiter,
43                                                  WhitespaceHandling whitespace,
44                                                  SplitResult result_type) {
45   return internal::SplitStringUsingSubstrT<std::wstring>(
46       input, delimiter, whitespace, result_type);
47 }
48 
SplitStringPieceUsingSubstr(std::wstring_view input,std::wstring_view delimiter,WhitespaceHandling whitespace,SplitResult result_type)49 std::vector<std::wstring_view> SplitStringPieceUsingSubstr(
50     std::wstring_view input,
51     std::wstring_view delimiter,
52     WhitespaceHandling whitespace,
53     SplitResult result_type) {
54   return internal::SplitStringUsingSubstrT<std::wstring_view>(
55       input, delimiter, whitespace, result_type);
56 }
57 
58 }  // namespace base
59