aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/restricted/abseil-cpp/absl/strings/str_replace.cc
diff options
context:
space:
mode:
authoranastasy888 <anastasy888@yandex-team.ru>2022-02-10 16:45:55 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:55 +0300
commit3a7a498715ef1b66f5054455421b845e45e3a653 (patch)
tree1a2c5ffcf89eb53ecd79dbc9bc0a195c27404d0c /contrib/restricted/abseil-cpp/absl/strings/str_replace.cc
parent49f765d71da452ea93138a25559dfa68dd76c7f3 (diff)
downloadydb-3a7a498715ef1b66f5054455421b845e45e3a653.tar.gz
Restoring authorship annotation for <anastasy888@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/restricted/abseil-cpp/absl/strings/str_replace.cc')
-rw-r--r--contrib/restricted/abseil-cpp/absl/strings/str_replace.cc160
1 files changed, 80 insertions, 80 deletions
diff --git a/contrib/restricted/abseil-cpp/absl/strings/str_replace.cc b/contrib/restricted/abseil-cpp/absl/strings/str_replace.cc
index 60f8e752d8..2bd5fa9821 100644
--- a/contrib/restricted/abseil-cpp/absl/strings/str_replace.cc
+++ b/contrib/restricted/abseil-cpp/absl/strings/str_replace.cc
@@ -1,82 +1,82 @@
-// Copyright 2017 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/str_replace.h"
-
-#include "absl/strings/str_cat.h"
-
-namespace absl {
+// Copyright 2017 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/str_replace.h"
+
+#include "absl/strings/str_cat.h"
+
+namespace absl {
ABSL_NAMESPACE_BEGIN
-namespace strings_internal {
-
-using FixedMapping =
- std::initializer_list<std::pair<absl::string_view, absl::string_view>>;
-
-// Applies the ViableSubstitutions in subs_ptr to the absl::string_view s, and
-// stores the result in *result_ptr. Returns the number of substitutions that
-// occurred.
-int ApplySubstitutions(
- absl::string_view s,
- std::vector<strings_internal::ViableSubstitution>* subs_ptr,
- std::string* result_ptr) {
- auto& subs = *subs_ptr;
- int substitutions = 0;
- size_t pos = 0;
- while (!subs.empty()) {
- auto& sub = subs.back();
- if (sub.offset >= pos) {
- if (pos <= s.size()) {
- StrAppend(result_ptr, s.substr(pos, sub.offset - pos), sub.replacement);
- }
- pos = sub.offset + sub.old.size();
- substitutions += 1;
- }
- sub.offset = s.find(sub.old, pos);
- if (sub.offset == s.npos) {
- subs.pop_back();
- } else {
- // Insertion sort to ensure the last ViableSubstitution continues to be
- // before all the others.
- size_t index = subs.size();
- while (--index && subs[index - 1].OccursBefore(subs[index])) {
- std::swap(subs[index], subs[index - 1]);
- }
- }
- }
- result_ptr->append(s.data() + pos, s.size() - pos);
- return substitutions;
-}
-
-} // namespace strings_internal
-
-// We can implement this in terms of the generic StrReplaceAll, but
-// we must specify the template overload because C++ cannot deduce the type
-// of an initializer_list parameter to a function, and also if we don't specify
-// the type, we just call ourselves.
-//
-// Note that we implement them here, rather than in the header, so that they
-// aren't inlined.
-
-std::string StrReplaceAll(absl::string_view s,
- strings_internal::FixedMapping replacements) {
- return StrReplaceAll<strings_internal::FixedMapping>(s, replacements);
-}
-
-int StrReplaceAll(strings_internal::FixedMapping replacements,
- std::string* target) {
- return StrReplaceAll<strings_internal::FixedMapping>(replacements, target);
-}
-
+namespace strings_internal {
+
+using FixedMapping =
+ std::initializer_list<std::pair<absl::string_view, absl::string_view>>;
+
+// Applies the ViableSubstitutions in subs_ptr to the absl::string_view s, and
+// stores the result in *result_ptr. Returns the number of substitutions that
+// occurred.
+int ApplySubstitutions(
+ absl::string_view s,
+ std::vector<strings_internal::ViableSubstitution>* subs_ptr,
+ std::string* result_ptr) {
+ auto& subs = *subs_ptr;
+ int substitutions = 0;
+ size_t pos = 0;
+ while (!subs.empty()) {
+ auto& sub = subs.back();
+ if (sub.offset >= pos) {
+ if (pos <= s.size()) {
+ StrAppend(result_ptr, s.substr(pos, sub.offset - pos), sub.replacement);
+ }
+ pos = sub.offset + sub.old.size();
+ substitutions += 1;
+ }
+ sub.offset = s.find(sub.old, pos);
+ if (sub.offset == s.npos) {
+ subs.pop_back();
+ } else {
+ // Insertion sort to ensure the last ViableSubstitution continues to be
+ // before all the others.
+ size_t index = subs.size();
+ while (--index && subs[index - 1].OccursBefore(subs[index])) {
+ std::swap(subs[index], subs[index - 1]);
+ }
+ }
+ }
+ result_ptr->append(s.data() + pos, s.size() - pos);
+ return substitutions;
+}
+
+} // namespace strings_internal
+
+// We can implement this in terms of the generic StrReplaceAll, but
+// we must specify the template overload because C++ cannot deduce the type
+// of an initializer_list parameter to a function, and also if we don't specify
+// the type, we just call ourselves.
+//
+// Note that we implement them here, rather than in the header, so that they
+// aren't inlined.
+
+std::string StrReplaceAll(absl::string_view s,
+ strings_internal::FixedMapping replacements) {
+ return StrReplaceAll<strings_internal::FixedMapping>(s, replacements);
+}
+
+int StrReplaceAll(strings_internal::FixedMapping replacements,
+ std::string* target) {
+ return StrReplaceAll<strings_internal::FixedMapping>(replacements, target);
+}
+
ABSL_NAMESPACE_END
-} // namespace absl
+} // namespace absl