1 // Copyright 2017 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/strcat.h"
6
7 #include <string>
8 #include <string_view>
9
10 #include "base/strings/strcat_internal.h"
11
12 namespace base {
13
StrCat(span<const std::string_view> pieces)14 std::string StrCat(span<const std::string_view> pieces) {
15 return internal::StrCatT(pieces);
16 }
17
StrCat(span<const std::u16string_view> pieces)18 std::u16string StrCat(span<const std::u16string_view> pieces) {
19 return internal::StrCatT(pieces);
20 }
21
StrCat(span<const std::string> pieces)22 std::string StrCat(span<const std::string> pieces) {
23 return internal::StrCatT(pieces);
24 }
25
StrCat(span<const std::u16string> pieces)26 std::u16string StrCat(span<const std::u16string> pieces) {
27 return internal::StrCatT(pieces);
28 }
29
StrAppend(std::string * dest,span<const std::string_view> pieces)30 void StrAppend(std::string* dest, span<const std::string_view> pieces) {
31 internal::StrAppendT(*dest, pieces);
32 }
33
StrAppend(std::u16string * dest,span<const std::u16string_view> pieces)34 void StrAppend(std::u16string* dest, span<const std::u16string_view> pieces) {
35 internal::StrAppendT(*dest, pieces);
36 }
37
StrAppend(std::string * dest,span<const std::string> pieces)38 void StrAppend(std::string* dest, span<const std::string> pieces) {
39 internal::StrAppendT(*dest, pieces);
40 }
41
StrAppend(std::u16string * dest,span<const std::u16string> pieces)42 void StrAppend(std::u16string* dest, span<const std::u16string> pieces) {
43 internal::StrAppendT(*dest, pieces);
44 }
45
46 } // namespace base
47