Automated rollback of commit 6b9d5c425e.

PiperOrigin-RevId: 698499250
pull/19340/head
Hong Shin 1 week ago committed by Copybara-Service
parent db71344633
commit 6ce48c2d02
  1. 18
      hpb/hpb.h

@ -95,11 +95,6 @@ ABSL_MUST_USE_RESULT bool Parse(Ptr<T> message, absl::string_view bytes) {
arena) == kUpb_DecodeStatus_Ok;
}
template <typename T>
ABSL_MUST_USE_RESULT bool Parse(T* message, absl::string_view bytes) {
return Parse(Ptr(message), bytes);
}
template <typename T>
absl::StatusOr<T> Parse(absl::string_view bytes, int options = 0) {
T message;
@ -114,6 +109,19 @@ absl::StatusOr<T> Parse(absl::string_view bytes, int options = 0) {
return MessageDecodeError(status);
}
template <typename T>
ABSL_MUST_USE_RESULT bool Parse(T* message, absl::string_view bytes) {
static_assert(!std::is_const_v<T>);
upb_Message_Clear(hpb::interop::upb::GetMessage(message),
::hpb::interop::upb::GetMiniTable(message));
auto* arena = hpb::interop::upb::GetArena(message);
return upb_Decode(bytes.data(), bytes.size(),
hpb::interop::upb::GetMessage(message),
::hpb::interop::upb::GetMiniTable(message),
/* extreg= */ nullptr, /* options= */ 0,
arena) == kUpb_DecodeStatus_Ok;
}
template <typename T>
absl::StatusOr<T> Parse(absl::string_view bytes,
const ::hpb::ExtensionRegistry& extension_registry,

Loading…
Cancel
Save