@@ -340,29 +340,28 @@ ABSL_MUST_USE_RESULT bool HasExtension(
340340 return HasExtension (protos::Ptr (message), id);
341341}
342342
343- template <typename T, typename Extendee , typename Extension ,
344- typename = EnableIfProtosClass<T>, typename = EnableIfMutableProto<T>>
343+ template <typename T, typename Extension , typename = EnableIfProtosClass<T> ,
344+ typename = EnableIfMutableProto<T>>
345345void ClearExtension (
346346 Ptr<T> message,
347- const ::protos::internal::ExtensionIdentifier<Extendee , Extension>& id) {
347+ const ::protos::internal::ExtensionIdentifier<T , Extension>& id) {
348348 static_assert (!std::is_const_v<T>, " " );
349349 upb_Message_ClearExtension (internal::GetInternalMsg (message),
350350 id.mini_table_ext ());
351351}
352352
353- template <typename T, typename Extendee, typename Extension,
354- typename = EnableIfProtosClass<T>>
353+ template <typename T, typename Extension, typename = EnableIfProtosClass<T>>
355354void ClearExtension (
356355 T* message,
357- const ::protos::internal::ExtensionIdentifier<Extendee , Extension>& id) {
356+ const ::protos::internal::ExtensionIdentifier<T , Extension>& id) {
358357 ClearExtension (::protos::Ptr (message), id);
359358}
360359
361- template <typename T, typename Extendee , typename Extension ,
362- typename = EnableIfProtosClass<T>, typename = EnableIfMutableProto<T>>
360+ template <typename T, typename Extension , typename = EnableIfProtosClass<T> ,
361+ typename = EnableIfMutableProto<T>>
363362absl::Status SetExtension (
364363 Ptr<T> message,
365- const ::protos::internal::ExtensionIdentifier<Extendee , Extension>& id,
364+ const ::protos::internal::ExtensionIdentifier<T , Extension>& id,
366365 const Extension& value) {
367366 static_assert (!std::is_const_v<T>);
368367 auto * message_arena = static_cast <upb_Arena*>(message->GetInternalArena ());
@@ -371,11 +370,24 @@ absl::Status SetExtension(
371370 internal::GetInternalMsg (&value));
372371}
373372
374- template <typename T, typename Extendee , typename Extension ,
375- typename = EnableIfProtosClass<T>, typename = EnableIfMutableProto<T>>
373+ template <typename T, typename Extension , typename = EnableIfProtosClass<T> ,
374+ typename = EnableIfMutableProto<T>>
376375absl::Status SetExtension (
377376 Ptr<T> message,
378- const ::protos::internal::ExtensionIdentifier<Extendee, Extension>& id,
377+ const ::protos::internal::ExtensionIdentifier<T, Extension>& id,
378+ Ptr<Extension> value) {
379+ static_assert (!std::is_const_v<T>);
380+ auto * message_arena = static_cast <upb_Arena*>(message->GetInternalArena ());
381+ return ::protos::internal::SetExtension (internal::GetInternalMsg (message),
382+ message_arena, id.mini_table_ext (),
383+ internal::GetInternalMsg (value));
384+ }
385+
386+ template <typename T, typename Extension, typename = EnableIfProtosClass<T>,
387+ typename = EnableIfMutableProto<T>>
388+ absl::Status SetExtension (
389+ Ptr<T> message,
390+ const ::protos::internal::ExtensionIdentifier<T, Extension>& id,
379391 Extension&& value) {
380392 Extension ext = std::move (value);
381393 static_assert (!std::is_const_v<T>);
@@ -386,25 +398,28 @@ absl::Status SetExtension(
386398 internal::GetInternalMsg (&ext), extension_arena);
387399}
388400
389- template <typename T, typename Extendee, typename Extension,
390- typename = EnableIfProtosClass<T>>
401+ template <typename T, typename Extension, typename = EnableIfProtosClass<T>>
391402absl::Status SetExtension (
392- T* message,
393- const ::protos::internal::ExtensionIdentifier<Extendee, Extension>& id,
403+ T* message, const ::protos::internal::ExtensionIdentifier<T, Extension>& id,
394404 const Extension& value) {
395405 return ::protos::SetExtension (::protos::Ptr (message), id, value);
396406}
397407
398- template <typename T, typename Extendee, typename Extension,
399- typename = EnableIfProtosClass<T>>
408+ template <typename T, typename Extension, typename = EnableIfProtosClass<T>>
400409absl::Status SetExtension (
401- T* message,
402- const ::protos::internal::ExtensionIdentifier<Extendee, Extension>& id,
410+ T* message, const ::protos::internal::ExtensionIdentifier<T, Extension>& id,
403411 Extension&& value) {
404412 return ::protos::SetExtension (::protos::Ptr (message), id,
405413 std::forward<Extension>(value));
406414}
407415
416+ template <typename T, typename Extension, typename = EnableIfProtosClass<T>>
417+ absl::Status SetExtension (
418+ T* message, const ::protos::internal::ExtensionIdentifier<T, Extension>& id,
419+ Ptr<Extension> value) {
420+ return ::protos::SetExtension (::protos::Ptr (message), id, value);
421+ }
422+
408423template <typename T, typename Extendee, typename Extension,
409424 typename = EnableIfProtosClass<T>>
410425absl::StatusOr<Ptr<const Extension>> GetExtension (
0 commit comments