1*6777b538SAndroid Build Coastguard Worker // Copyright 2017 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Worker #include "base/strings/strcat.h"
6*6777b538SAndroid Build Coastguard Worker
7*6777b538SAndroid Build Coastguard Worker #include <string>
8*6777b538SAndroid Build Coastguard Worker
9*6777b538SAndroid Build Coastguard Worker #include "base/strings/strcat_internal.h"
10*6777b538SAndroid Build Coastguard Worker
11*6777b538SAndroid Build Coastguard Worker namespace base {
12*6777b538SAndroid Build Coastguard Worker
StrCat(span<const StringPiece> pieces)13*6777b538SAndroid Build Coastguard Worker std::string StrCat(span<const StringPiece> pieces) {
14*6777b538SAndroid Build Coastguard Worker return internal::StrCatT(pieces);
15*6777b538SAndroid Build Coastguard Worker }
16*6777b538SAndroid Build Coastguard Worker
StrCat(span<const StringPiece16> pieces)17*6777b538SAndroid Build Coastguard Worker std::u16string StrCat(span<const StringPiece16> pieces) {
18*6777b538SAndroid Build Coastguard Worker return internal::StrCatT(pieces);
19*6777b538SAndroid Build Coastguard Worker }
20*6777b538SAndroid Build Coastguard Worker
StrCat(span<const std::string> pieces)21*6777b538SAndroid Build Coastguard Worker std::string StrCat(span<const std::string> pieces) {
22*6777b538SAndroid Build Coastguard Worker return internal::StrCatT(pieces);
23*6777b538SAndroid Build Coastguard Worker }
24*6777b538SAndroid Build Coastguard Worker
StrCat(span<const std::u16string> pieces)25*6777b538SAndroid Build Coastguard Worker std::u16string StrCat(span<const std::u16string> pieces) {
26*6777b538SAndroid Build Coastguard Worker return internal::StrCatT(pieces);
27*6777b538SAndroid Build Coastguard Worker }
28*6777b538SAndroid Build Coastguard Worker
StrAppend(std::string * dest,span<const StringPiece> pieces)29*6777b538SAndroid Build Coastguard Worker void StrAppend(std::string* dest, span<const StringPiece> pieces) {
30*6777b538SAndroid Build Coastguard Worker internal::StrAppendT(*dest, pieces);
31*6777b538SAndroid Build Coastguard Worker }
32*6777b538SAndroid Build Coastguard Worker
StrAppend(std::u16string * dest,span<const StringPiece16> pieces)33*6777b538SAndroid Build Coastguard Worker void StrAppend(std::u16string* dest, span<const StringPiece16> pieces) {
34*6777b538SAndroid Build Coastguard Worker internal::StrAppendT(*dest, pieces);
35*6777b538SAndroid Build Coastguard Worker }
36*6777b538SAndroid Build Coastguard Worker
StrAppend(std::string * dest,span<const std::string> pieces)37*6777b538SAndroid Build Coastguard Worker void StrAppend(std::string* dest, span<const std::string> pieces) {
38*6777b538SAndroid Build Coastguard Worker internal::StrAppendT(*dest, pieces);
39*6777b538SAndroid Build Coastguard Worker }
40*6777b538SAndroid Build Coastguard Worker
StrAppend(std::u16string * dest,span<const std::u16string> pieces)41*6777b538SAndroid Build Coastguard Worker void StrAppend(std::u16string* dest, span<const std::u16string> pieces) {
42*6777b538SAndroid Build Coastguard Worker internal::StrAppendT(*dest, pieces);
43*6777b538SAndroid Build Coastguard Worker }
44*6777b538SAndroid Build Coastguard Worker
45*6777b538SAndroid Build Coastguard Worker } // namespace base
46