@@ -95,6 +95,11 @@ ABSL_MUST_USE_RESULT bool Parse(Ptr<T> message, absl::string_view bytes) {
95
95
arena) == kUpb_DecodeStatus_Ok;
96
96
}
97
97
98
+ template <typename T>
99
+ ABSL_MUST_USE_RESULT bool Parse (T* message, absl::string_view bytes) {
100
+ return Parse (Ptr (message), bytes);
101
+ }
102
+
98
103
template <typename T>
99
104
absl::StatusOr<T> Parse (absl::string_view bytes, int options = 0 ) {
100
105
T message;
@@ -109,19 +114,6 @@ absl::StatusOr<T> Parse(absl::string_view bytes, int options = 0) {
109
114
return MessageDecodeError (status);
110
115
}
111
116
112
- template <typename T>
113
- ABSL_MUST_USE_RESULT bool Parse (T* message, absl::string_view bytes) {
114
- static_assert (!std::is_const_v<T>);
115
- upb_Message_Clear (hpb::interop::upb::GetMessage (message),
116
- ::hpb::interop::upb::GetMiniTable (message));
117
- auto * arena = hpb::interop::upb::GetArena (message);
118
- return upb_Decode (bytes.data (), bytes.size (),
119
- hpb::interop::upb::GetMessage (message),
120
- ::hpb::interop::upb::GetMiniTable (message),
121
- /* extreg= */ nullptr, /* options= */ 0,
122
- arena) == kUpb_DecodeStatus_Ok;
123
- }
124
-
125
117
template <typename T>
126
118
absl::StatusOr<T> Parse (absl::string_view bytes,
127
119
const ::hpb::ExtensionRegistry& extension_registry,
0 commit comments