18 #ifndef GZ_MSGS_MESSAGE_CAST_UTILS_HH_
19 #define GZ_MSGS_MESSAGE_CAST_UTILS_HH_
24 #include <google/protobuf/message.h>
25 #include <google/protobuf/message_lite.h>
36 #if GOOGLE_PROTOBUF_VERSION >= 5028000
37 return google::protobuf::DynamicCastMessage<T>(message);
39 return dynamic_cast<const T*
>(message);
49 #if GOOGLE_PROTOBUF_VERSION >= 5028000
50 return google::protobuf::DynamicCastMessage<T>(message);
52 return dynamic_cast<T*
>(message);
63 #if GOOGLE_PROTOBUF_VERSION >= 6030000
64 return google::protobuf::DynamicCastMessage<T>(
std::move(message));
66 return std::dynamic_pointer_cast<T>(
std::move(message));
73 template <
typename MsgT>
77 auto* ptr = DoDynamicCastMessage<MsgT>(_baseMsg.get());
80 (void)_baseMsg.release();