38 #ifndef ABSL_STRINGS_STR_REPLACE_H_
39 #define ABSL_STRINGS_STR_REPLACE_H_
45 #include "absl/base/attributes.h"
46 #include "absl/strings/string_view.h"
70 std::initializer_list<std::pair<absl::string_view, absl::string_view>>
96 template <
typename StrToStrMapping>
98 const StrToStrMapping& replacements);
114 std::initializer_list<std::pair<absl::string_view, absl::string_view>>
130 template <
typename StrToStrMapping>
134 namespace strings_internal {
157 template <
typename StrToStrMapping>
160 std::vector<ViableSubstitution>
subs;
161 subs.reserve(replacements.size());
163 for (
const auto&
rep : replacements) {
168 if (
pos ==
s.npos)
continue;
173 if (
old.empty())
continue;
188 std::vector<ViableSubstitution>* subs_ptr,
193 template <
typename StrToStrMapping>
195 const StrToStrMapping& replacements) {
203 template <
typename StrToStrMapping>
206 if (
subs.empty())
return 0;
213 return substitutions;
219 #endif // ABSL_STRINGS_STR_REPLACE_H_