diff --git a/CMake/AbseilDll.cmake b/CMake/AbseilDll.cmake index 30069da2..d90d24d8 100644 --- a/CMake/AbseilDll.cmake +++ b/CMake/AbseilDll.cmake @@ -243,6 +243,7 @@ set(ABSL_INTERNAL_DLL_FILES "strings/internal/stl_type_traits.h" "strings/internal/string_constant.h" "strings/internal/stringify_sink.h" + "strings/internal/stringify_sink.cc" "strings/match.cc" "strings/match.h" "strings/numbers.cc" diff --git a/absl/strings/BUILD.bazel b/absl/strings/BUILD.bazel index 809f566d..4794f4ca 100644 --- a/absl/strings/BUILD.bazel +++ b/absl/strings/BUILD.bazel @@ -43,6 +43,7 @@ cc_library( "internal/stl_type_traits.h", "internal/str_join_internal.h", "internal/str_split_internal.h", + "internal/stringify_sink.cc", "internal/stringify_sink.h", "match.cc", "numbers.cc", diff --git a/absl/strings/CMakeLists.txt b/absl/strings/CMakeLists.txt index 30dedcf5..87b1a78f 100644 --- a/absl/strings/CMakeLists.txt +++ b/absl/strings/CMakeLists.txt @@ -44,6 +44,7 @@ absl_cc_library( "internal/memutil.cc" "internal/memutil.h" "internal/stringify_sink.h" + "internal/stringify_sink.cc" "internal/stl_type_traits.h" "internal/str_join_internal.h" "internal/str_split_internal.h" diff --git a/absl/strings/internal/stringify_sink.cc b/absl/strings/internal/stringify_sink.cc new file mode 100644 index 00000000..7c6995ab --- /dev/null +++ b/absl/strings/internal/stringify_sink.cc @@ -0,0 +1,28 @@ +// Copyright 2022 The Abseil Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include "absl/strings/internal/stringify_sink.h" +namespace absl { +ABSL_NAMESPACE_BEGIN +namespace strings_internal { + +void StringifySink::Append(size_t count, char ch) { buffer_.append(count, ch); } + +void StringifySink::Append(string_view v) { + buffer_.append(v.data(), v.size()); +} + +} // namespace strings_internal +ABSL_NAMESPACE_END +} // namespace absl diff --git a/absl/strings/str_cat.cc b/absl/strings/str_cat.cc index 21819203..e5cb6d84 100644 --- a/absl/strings/str_cat.cc +++ b/absl/strings/str_cat.cc @@ -30,15 +30,6 @@ namespace absl { ABSL_NAMESPACE_BEGIN -namespace strings_internal { -void StringifySink::Append(size_t count, char ch) { buffer_.append(count, ch); } - -void StringifySink::Append(string_view v) { - buffer_.append(v.data(), v.size()); -} - -} // namespace strings_internal - AlphaNum::AlphaNum(Hex hex) { static_assert(numbers_internal::kFastToBufferSize >= 32, "This function only works when output buffer >= 32 bytes long");