From 55621d1af55be7bf9a2c8e5dcef4368d9a6d4e51 Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko Date: Mon, 11 Dec 2023 09:07:07 -0800 Subject: Add nullability annotations PiperOrigin-RevId: 589842893 Change-Id: I9657761d1f71c665582406f278c6605f6d382f6d --- absl/strings/str_replace.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'absl/strings/str_replace.h') diff --git a/absl/strings/str_replace.h b/absl/strings/str_replace.h index 273c7077..e77ced3e 100644 --- a/absl/strings/str_replace.h +++ b/absl/strings/str_replace.h @@ -43,6 +43,7 @@ #include #include "absl/base/attributes.h" +#include "absl/base/nullability.h" #include "absl/strings/string_view.h" namespace absl { @@ -113,7 +114,7 @@ std::string StrReplaceAll(absl::string_view s, int StrReplaceAll( std::initializer_list> replacements, - std::string* target); + absl::Nonnull target); // Overload of `StrReplaceAll()` to replace patterns within a given output // string *in place* with replacements provided within a container of key/value @@ -128,7 +129,8 @@ int StrReplaceAll( // EXPECT_EQ(count, 2); // EXPECT_EQ("if (ptr < &foo)", s); template -int StrReplaceAll(const StrToStrMapping& replacements, std::string* target); +int StrReplaceAll(const StrToStrMapping& replacements, + absl::Nonnull target); // Implementation details only, past this point. namespace strings_internal { @@ -185,8 +187,8 @@ std::vector FindSubstitutions( } int ApplySubstitutions(absl::string_view s, - std::vector* subs_ptr, - std::string* result_ptr); + absl::Nonnull*> subs_ptr, + absl::Nonnull result_ptr); } // namespace strings_internal @@ -201,7 +203,8 @@ std::string StrReplaceAll(absl::string_view s, } template -int StrReplaceAll(const StrToStrMapping& replacements, std::string* target) { +int StrReplaceAll(const StrToStrMapping& replacements, + absl::Nonnull target) { auto subs = strings_internal::FindSubstitutions(*target, replacements); if (subs.empty()) return 0; -- cgit v1.2.3