diff options
author | Matt Kulukundis <kfm@google.com> | 2024-02-07 16:02:47 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-02-07 16:03:39 -0800 |
commit | 99f0b6d16f0e9ab6027379c31ce6c99dc1db5e9c (patch) | |
tree | 8611ea386c39c3f3ac49c6b28829a09c377e46e7 /absl/strings | |
parent | 0be9f99723eba44462245013d6a433c1ad9157ee (diff) | |
download | abseil-99f0b6d16f0e9ab6027379c31ce6c99dc1db5e9c.tar.gz abseil-99f0b6d16f0e9ab6027379c31ce6c99dc1db5e9c.tar.bz2 abseil-99f0b6d16f0e9ab6027379c31ce6c99dc1db5e9c.zip |
Switch rank structs to be consistent with written guidance in go/ranked-overloads
PiperOrigin-RevId: 605125821
Change-Id: I2ee260eaf283acafd80abfd2b7419a0e9f597a78
Diffstat (limited to 'absl/strings')
-rw-r--r-- | absl/strings/cord.h | 2 | ||||
-rw-r--r-- | absl/strings/internal/cord_internal.h | 11 |
2 files changed, 7 insertions, 6 deletions
diff --git a/absl/strings/cord.h b/absl/strings/cord.h index d2ba9673..2583aa8a 100644 --- a/absl/strings/cord.h +++ b/absl/strings/cord.h @@ -1120,7 +1120,7 @@ Cord MakeCordFromExternal(absl::string_view data, Releaser&& releaser) { } else { using ReleaserType = absl::decay_t<Releaser>; cord_internal::InvokeReleaser( - cord_internal::Rank0{}, ReleaserType(std::forward<Releaser>(releaser)), + cord_internal::Rank1{}, ReleaserType(std::forward<Releaser>(releaser)), data); } return cord; diff --git a/absl/strings/internal/cord_internal.h b/absl/strings/internal/cord_internal.h index 549f9175..a52deea1 100644 --- a/absl/strings/internal/cord_internal.h +++ b/absl/strings/internal/cord_internal.h @@ -352,18 +352,19 @@ struct CordRepExternal : public CordRep { static void Delete(CordRep* rep); }; -struct Rank1 {}; -struct Rank0 : Rank1 {}; +// Use go/ranked-overloads for dispatching. +struct Rank0 {}; +struct Rank1 : Rank0 {}; template <typename Releaser, typename = ::absl::base_internal::invoke_result_t< Releaser, absl::string_view>> -void InvokeReleaser(Rank0, Releaser&& releaser, absl::string_view data) { +void InvokeReleaser(Rank1, Releaser&& releaser, absl::string_view data) { ::absl::base_internal::invoke(std::forward<Releaser>(releaser), data); } template <typename Releaser, typename = ::absl::base_internal::invoke_result_t<Releaser>> -void InvokeReleaser(Rank1, Releaser&& releaser, absl::string_view) { +void InvokeReleaser(Rank0, Releaser&& releaser, absl::string_view) { ::absl::base_internal::invoke(std::forward<Releaser>(releaser)); } @@ -381,7 +382,7 @@ struct CordRepExternalImpl } ~CordRepExternalImpl() { - InvokeReleaser(Rank0{}, std::move(this->template get<0>()), + InvokeReleaser(Rank1{}, std::move(this->template get<0>()), absl::string_view(base, length)); } |