// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: ignition/msgs/packet.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_ignition_2fmsgs_2fpacket_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_ignition_2fmsgs_2fpacket_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3018000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers. Please update
#error your headers.
#endif
#if 3018000 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
#include "ignition/msgs/double_v.pb.h"
#include "ignition/msgs/clock.pb.h"
#include "ignition/msgs/cmd_vel2d.pb.h"
#include "ignition/msgs/image.pb.h"
#include "ignition/msgs/pose.pb.h"
#include "ignition/msgs/pose_v.pb.h"
#include "ignition/msgs/stringmsg_v.pb.h"
#include "ignition/msgs/time.pb.h"
#include "ignition/msgs/web_request.pb.h"
#include "ignition/msgs/world_stats.pb.h"
#ifndef _MSC_VER
#pragma GCC system_header
#else
#pragma warning(push)
#pragma warning(disable: 4244 4267 4100 4244 4512 4127 4068 4275 4251)
#endif
#ifdef __linux__
#include <sys/sysmacros.h>
#endif
#include <memory>
#include <ignition/msgs/Export.hh>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_ignition_2fmsgs_2fpacket_2eproto IGNITION_MSGS_VISIBLE
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct IGNITION_MSGS_VISIBLE TableStruct_ignition_2fmsgs_2fpacket_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[1]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::FieldMetadata field_metadata[];
  static const ::PROTOBUF_NAMESPACE_ID::internal::SerializationTable serialization_table[];
  static const ::PROTOBUF_NAMESPACE_ID::uint32 offsets[];
};
IGNITION_MSGS_VISIBLE extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_ignition_2fmsgs_2fpacket_2eproto;
namespace ignition {
namespace msgs {
class Packet;
struct PacketDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern PacketDefaultTypeInternal _Packet_default_instance_;
}  // namespace msgs
}  // namespace ignition
PROTOBUF_NAMESPACE_OPEN
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::Packet* Arena::CreateMaybeMessage<::ignition::msgs::Packet>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace ignition {
namespace msgs {

// ===================================================================

class IGNITION_MSGS_VISIBLE Packet final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:ignition.msgs.Packet) */ {
 public:
  inline Packet() : Packet(nullptr) {}
  ~Packet() override;
  explicit constexpr Packet(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

  Packet(const Packet& from);
  Packet(Packet&& from) noexcept
    : Packet() {
    *this = ::std::move(from);
  }

  inline Packet& operator=(const Packet& from) {
    CopyFrom(from);
    return *this;
  }
  inline Packet& operator=(Packet&& from) noexcept {
    if (this == &from) return *this;
    if (GetOwningArena() == from.GetOwningArena()
  #ifdef PROTOBUF_FORCE_COPY_IN_MOVE
        && GetOwningArena() != nullptr
  #endif  // !PROTOBUF_FORCE_COPY_IN_MOVE
    ) {
      InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const Packet& default_instance() {
    return *internal_default_instance();
  }
  enum ContentCase {
    kCmdVel2D = 3,
    kImage = 4,
    kStringMsgV = 5,
    kWebRequest = 6,
    kPose = 7,
    kDoublev = 8,
    kPoseV = 9,
    kTime = 10,
    kClock = 11,
    kWorldStats = 12,
    CONTENT_NOT_SET = 0,
  };

  static inline const Packet* internal_default_instance() {
    return reinterpret_cast<const Packet*>(
               &_Packet_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(Packet& a, Packet& b) {
    a.Swap(&b);
  }
  inline void Swap(Packet* other) {
    if (other == this) return;
    if (GetOwningArena() == other->GetOwningArena()) {
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(Packet* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

  // implements Message ----------------------------------------------

  inline Packet* New() const final {
    return new Packet();
  }

  Packet* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<Packet>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const Packet& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const Packet& from);
  private:
  static void MergeImpl(::PROTOBUF_NAMESPACE_ID::Message* to, const ::PROTOBUF_NAMESPACE_ID::Message& from);
  public:
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  ::PROTOBUF_NAMESPACE_ID::uint8* _InternalSerialize(
      ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Packet* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.Packet";
  }
  protected:
  explicit Packet(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

  static const ClassData _class_data_;
  const ::PROTOBUF_NAMESPACE_ID::Message::ClassData*GetClassData() const final;

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  enum : int {
    kTopicFieldNumber = 1,
    kTypeFieldNumber = 2,
    kCmdVel2DFieldNumber = 3,
    kImageFieldNumber = 4,
    kStringMsgVFieldNumber = 5,
    kWebRequestFieldNumber = 6,
    kPoseFieldNumber = 7,
    kDoublevFieldNumber = 8,
    kPoseVFieldNumber = 9,
    kTimeFieldNumber = 10,
    kClockFieldNumber = 11,
    kWorldStatsFieldNumber = 12,
  };
  // string topic = 1;
  void clear_topic();
  const std::string& topic() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_topic(ArgT0&& arg0, ArgT... args);
  std::string* mutable_topic();
  PROTOBUF_MUST_USE_RESULT std::string* release_topic();
  void set_allocated_topic(std::string* topic);
  private:
  const std::string& _internal_topic() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_topic(const std::string& value);
  std::string* _internal_mutable_topic();
  public:

  // string type = 2;
  void clear_type();
  const std::string& type() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_type(ArgT0&& arg0, ArgT... args);
  std::string* mutable_type();
  PROTOBUF_MUST_USE_RESULT std::string* release_type();
  void set_allocated_type(std::string* type);
  private:
  const std::string& _internal_type() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_type(const std::string& value);
  std::string* _internal_mutable_type();
  public:

  // .ignition.msgs.CmdVel2D cmd_vel2d = 3;
  bool has_cmd_vel2d() const;
  private:
  bool _internal_has_cmd_vel2d() const;
  public:
  void clear_cmd_vel2d();
  const ::ignition::msgs::CmdVel2D& cmd_vel2d() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::CmdVel2D* release_cmd_vel2d();
  ::ignition::msgs::CmdVel2D* mutable_cmd_vel2d();
  void set_allocated_cmd_vel2d(::ignition::msgs::CmdVel2D* cmd_vel2d);
  private:
  const ::ignition::msgs::CmdVel2D& _internal_cmd_vel2d() const;
  ::ignition::msgs::CmdVel2D* _internal_mutable_cmd_vel2d();
  public:
  void unsafe_arena_set_allocated_cmd_vel2d(
      ::ignition::msgs::CmdVel2D* cmd_vel2d);
  ::ignition::msgs::CmdVel2D* unsafe_arena_release_cmd_vel2d();

  // .ignition.msgs.Image image = 4;
  bool has_image() const;
  private:
  bool _internal_has_image() const;
  public:
  void clear_image();
  const ::ignition::msgs::Image& image() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Image* release_image();
  ::ignition::msgs::Image* mutable_image();
  void set_allocated_image(::ignition::msgs::Image* image);
  private:
  const ::ignition::msgs::Image& _internal_image() const;
  ::ignition::msgs::Image* _internal_mutable_image();
  public:
  void unsafe_arena_set_allocated_image(
      ::ignition::msgs::Image* image);
  ::ignition::msgs::Image* unsafe_arena_release_image();

  // .ignition.msgs.StringMsg_V string_msg_v = 5;
  bool has_string_msg_v() const;
  private:
  bool _internal_has_string_msg_v() const;
  public:
  void clear_string_msg_v();
  const ::ignition::msgs::StringMsg_V& string_msg_v() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::StringMsg_V* release_string_msg_v();
  ::ignition::msgs::StringMsg_V* mutable_string_msg_v();
  void set_allocated_string_msg_v(::ignition::msgs::StringMsg_V* string_msg_v);
  private:
  const ::ignition::msgs::StringMsg_V& _internal_string_msg_v() const;
  ::ignition::msgs::StringMsg_V* _internal_mutable_string_msg_v();
  public:
  void unsafe_arena_set_allocated_string_msg_v(
      ::ignition::msgs::StringMsg_V* string_msg_v);
  ::ignition::msgs::StringMsg_V* unsafe_arena_release_string_msg_v();

  // .ignition.msgs.WebRequest web_request = 6;
  bool has_web_request() const;
  private:
  bool _internal_has_web_request() const;
  public:
  void clear_web_request();
  const ::ignition::msgs::WebRequest& web_request() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::WebRequest* release_web_request();
  ::ignition::msgs::WebRequest* mutable_web_request();
  void set_allocated_web_request(::ignition::msgs::WebRequest* web_request);
  private:
  const ::ignition::msgs::WebRequest& _internal_web_request() const;
  ::ignition::msgs::WebRequest* _internal_mutable_web_request();
  public:
  void unsafe_arena_set_allocated_web_request(
      ::ignition::msgs::WebRequest* web_request);
  ::ignition::msgs::WebRequest* unsafe_arena_release_web_request();

  // .ignition.msgs.Pose pose = 7;
  bool has_pose() const;
  private:
  bool _internal_has_pose() const;
  public:
  void clear_pose();
  const ::ignition::msgs::Pose& pose() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Pose* release_pose();
  ::ignition::msgs::Pose* mutable_pose();
  void set_allocated_pose(::ignition::msgs::Pose* pose);
  private:
  const ::ignition::msgs::Pose& _internal_pose() const;
  ::ignition::msgs::Pose* _internal_mutable_pose();
  public:
  void unsafe_arena_set_allocated_pose(
      ::ignition::msgs::Pose* pose);
  ::ignition::msgs::Pose* unsafe_arena_release_pose();

  // .ignition.msgs.Double_V doublev = 8;
  bool has_doublev() const;
  private:
  bool _internal_has_doublev() const;
  public:
  void clear_doublev();
  const ::ignition::msgs::Double_V& doublev() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Double_V* release_doublev();
  ::ignition::msgs::Double_V* mutable_doublev();
  void set_allocated_doublev(::ignition::msgs::Double_V* doublev);
  private:
  const ::ignition::msgs::Double_V& _internal_doublev() const;
  ::ignition::msgs::Double_V* _internal_mutable_doublev();
  public:
  void unsafe_arena_set_allocated_doublev(
      ::ignition::msgs::Double_V* doublev);
  ::ignition::msgs::Double_V* unsafe_arena_release_doublev();

  // .ignition.msgs.Pose_V pose_v = 9;
  bool has_pose_v() const;
  private:
  bool _internal_has_pose_v() const;
  public:
  void clear_pose_v();
  const ::ignition::msgs::Pose_V& pose_v() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Pose_V* release_pose_v();
  ::ignition::msgs::Pose_V* mutable_pose_v();
  void set_allocated_pose_v(::ignition::msgs::Pose_V* pose_v);
  private:
  const ::ignition::msgs::Pose_V& _internal_pose_v() const;
  ::ignition::msgs::Pose_V* _internal_mutable_pose_v();
  public:
  void unsafe_arena_set_allocated_pose_v(
      ::ignition::msgs::Pose_V* pose_v);
  ::ignition::msgs::Pose_V* unsafe_arena_release_pose_v();

  // .ignition.msgs.Time time = 10;
  bool has_time() const;
  private:
  bool _internal_has_time() const;
  public:
  void clear_time();
  const ::ignition::msgs::Time& time() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Time* release_time();
  ::ignition::msgs::Time* mutable_time();
  void set_allocated_time(::ignition::msgs::Time* time);
  private:
  const ::ignition::msgs::Time& _internal_time() const;
  ::ignition::msgs::Time* _internal_mutable_time();
  public:
  void unsafe_arena_set_allocated_time(
      ::ignition::msgs::Time* time);
  ::ignition::msgs::Time* unsafe_arena_release_time();

  // .ignition.msgs.Clock clock = 11;
  bool has_clock() const;
  private:
  bool _internal_has_clock() const;
  public:
  void clear_clock();
  const ::ignition::msgs::Clock& clock() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Clock* release_clock();
  ::ignition::msgs::Clock* mutable_clock();
  void set_allocated_clock(::ignition::msgs::Clock* clock);
  private:
  const ::ignition::msgs::Clock& _internal_clock() const;
  ::ignition::msgs::Clock* _internal_mutable_clock();
  public:
  void unsafe_arena_set_allocated_clock(
      ::ignition::msgs::Clock* clock);
  ::ignition::msgs::Clock* unsafe_arena_release_clock();

  // .ignition.msgs.WorldStatistics world_stats = 12;
  bool has_world_stats() const;
  private:
  bool _internal_has_world_stats() const;
  public:
  void clear_world_stats();
  const ::ignition::msgs::WorldStatistics& world_stats() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::WorldStatistics* release_world_stats();
  ::ignition::msgs::WorldStatistics* mutable_world_stats();
  void set_allocated_world_stats(::ignition::msgs::WorldStatistics* world_stats);
  private:
  const ::ignition::msgs::WorldStatistics& _internal_world_stats() const;
  ::ignition::msgs::WorldStatistics* _internal_mutable_world_stats();
  public:
  void unsafe_arena_set_allocated_world_stats(
      ::ignition::msgs::WorldStatistics* world_stats);
  ::ignition::msgs::WorldStatistics* unsafe_arena_release_world_stats();

  void clear_content();
  ContentCase content_case() const;
  // @@protoc_insertion_point(class_scope:ignition.msgs.Packet)
 private:
  class _Internal;
  void set_has_cmd_vel2d();
  void set_has_image();
  void set_has_string_msg_v();
  void set_has_web_request();
  void set_has_pose();
  void set_has_doublev();
  void set_has_pose_v();
  void set_has_time();
  void set_has_clock();
  void set_has_world_stats();

  inline bool has_content() const;
  inline void clear_has_content();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr topic_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr type_;
  union ContentUnion {
    constexpr ContentUnion() : _constinit_{} {}
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
    ::ignition::msgs::CmdVel2D* cmd_vel2d_;
    ::ignition::msgs::Image* image_;
    ::ignition::msgs::StringMsg_V* string_msg_v_;
    ::ignition::msgs::WebRequest* web_request_;
    ::ignition::msgs::Pose* pose_;
    ::ignition::msgs::Double_V* doublev_;
    ::ignition::msgs::Pose_V* pose_v_;
    ::ignition::msgs::Time* time_;
    ::ignition::msgs::Clock* clock_;
    ::ignition::msgs::WorldStatistics* world_stats_;
  } content_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_ignition_2fmsgs_2fpacket_2eproto;
};
// ===================================================================


// ===================================================================

#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// Packet

// string topic = 1;
inline void Packet::clear_topic() {
  topic_.ClearToEmpty();
}
inline const std::string& Packet::topic() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.topic)
  return _internal_topic();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Packet::set_topic(ArgT0&& arg0, ArgT... args) {
 
 topic_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.Packet.topic)
}
inline std::string* Packet::mutable_topic() {
  std::string* _s = _internal_mutable_topic();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.topic)
  return _s;
}
inline const std::string& Packet::_internal_topic() const {
  return topic_.Get();
}
inline void Packet::_internal_set_topic(const std::string& value) {
  
  topic_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Packet::_internal_mutable_topic() {
  
  return topic_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Packet::release_topic() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.topic)
  return topic_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Packet::set_allocated_topic(std::string* topic) {
  if (topic != nullptr) {
    
  } else {
    
  }
  topic_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), topic,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.Packet.topic)
}

// string type = 2;
inline void Packet::clear_type() {
  type_.ClearToEmpty();
}
inline const std::string& Packet::type() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.type)
  return _internal_type();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void Packet::set_type(ArgT0&& arg0, ArgT... args) {
 
 type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.Packet.type)
}
inline std::string* Packet::mutable_type() {
  std::string* _s = _internal_mutable_type();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.type)
  return _s;
}
inline const std::string& Packet::_internal_type() const {
  return type_.Get();
}
inline void Packet::_internal_set_type(const std::string& value) {
  
  type_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* Packet::_internal_mutable_type() {
  
  return type_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* Packet::release_type() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.type)
  return type_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void Packet::set_allocated_type(std::string* type) {
  if (type != nullptr) {
    
  } else {
    
  }
  type_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), type,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.Packet.type)
}

// .ignition.msgs.CmdVel2D cmd_vel2d = 3;
inline bool Packet::_internal_has_cmd_vel2d() const {
  return content_case() == kCmdVel2D;
}
inline bool Packet::has_cmd_vel2d() const {
  return _internal_has_cmd_vel2d();
}
inline void Packet::set_has_cmd_vel2d() {
  _oneof_case_[0] = kCmdVel2D;
}
inline ::ignition::msgs::CmdVel2D* Packet::release_cmd_vel2d() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.cmd_vel2d)
  if (_internal_has_cmd_vel2d()) {
    clear_has_content();
      ::ignition::msgs::CmdVel2D* temp = content_.cmd_vel2d_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.cmd_vel2d_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::CmdVel2D& Packet::_internal_cmd_vel2d() const {
  return _internal_has_cmd_vel2d()
      ? *content_.cmd_vel2d_
      : reinterpret_cast< ::ignition::msgs::CmdVel2D&>(::ignition::msgs::_CmdVel2D_default_instance_);
}
inline const ::ignition::msgs::CmdVel2D& Packet::cmd_vel2d() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.cmd_vel2d)
  return _internal_cmd_vel2d();
}
inline ::ignition::msgs::CmdVel2D* Packet::unsafe_arena_release_cmd_vel2d() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.cmd_vel2d)
  if (_internal_has_cmd_vel2d()) {
    clear_has_content();
    ::ignition::msgs::CmdVel2D* temp = content_.cmd_vel2d_;
    content_.cmd_vel2d_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_cmd_vel2d(::ignition::msgs::CmdVel2D* cmd_vel2d) {
  clear_content();
  if (cmd_vel2d) {
    set_has_cmd_vel2d();
    content_.cmd_vel2d_ = cmd_vel2d;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.cmd_vel2d)
}
inline ::ignition::msgs::CmdVel2D* Packet::_internal_mutable_cmd_vel2d() {
  if (!_internal_has_cmd_vel2d()) {
    clear_content();
    set_has_cmd_vel2d();
    content_.cmd_vel2d_ = CreateMaybeMessage< ::ignition::msgs::CmdVel2D >(GetArenaForAllocation());
  }
  return content_.cmd_vel2d_;
}
inline ::ignition::msgs::CmdVel2D* Packet::mutable_cmd_vel2d() {
  ::ignition::msgs::CmdVel2D* _msg = _internal_mutable_cmd_vel2d();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.cmd_vel2d)
  return _msg;
}

// .ignition.msgs.Image image = 4;
inline bool Packet::_internal_has_image() const {
  return content_case() == kImage;
}
inline bool Packet::has_image() const {
  return _internal_has_image();
}
inline void Packet::set_has_image() {
  _oneof_case_[0] = kImage;
}
inline ::ignition::msgs::Image* Packet::release_image() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.image)
  if (_internal_has_image()) {
    clear_has_content();
      ::ignition::msgs::Image* temp = content_.image_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.image_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Image& Packet::_internal_image() const {
  return _internal_has_image()
      ? *content_.image_
      : reinterpret_cast< ::ignition::msgs::Image&>(::ignition::msgs::_Image_default_instance_);
}
inline const ::ignition::msgs::Image& Packet::image() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.image)
  return _internal_image();
}
inline ::ignition::msgs::Image* Packet::unsafe_arena_release_image() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.image)
  if (_internal_has_image()) {
    clear_has_content();
    ::ignition::msgs::Image* temp = content_.image_;
    content_.image_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_image(::ignition::msgs::Image* image) {
  clear_content();
  if (image) {
    set_has_image();
    content_.image_ = image;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.image)
}
inline ::ignition::msgs::Image* Packet::_internal_mutable_image() {
  if (!_internal_has_image()) {
    clear_content();
    set_has_image();
    content_.image_ = CreateMaybeMessage< ::ignition::msgs::Image >(GetArenaForAllocation());
  }
  return content_.image_;
}
inline ::ignition::msgs::Image* Packet::mutable_image() {
  ::ignition::msgs::Image* _msg = _internal_mutable_image();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.image)
  return _msg;
}

// .ignition.msgs.StringMsg_V string_msg_v = 5;
inline bool Packet::_internal_has_string_msg_v() const {
  return content_case() == kStringMsgV;
}
inline bool Packet::has_string_msg_v() const {
  return _internal_has_string_msg_v();
}
inline void Packet::set_has_string_msg_v() {
  _oneof_case_[0] = kStringMsgV;
}
inline ::ignition::msgs::StringMsg_V* Packet::release_string_msg_v() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.string_msg_v)
  if (_internal_has_string_msg_v()) {
    clear_has_content();
      ::ignition::msgs::StringMsg_V* temp = content_.string_msg_v_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.string_msg_v_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::StringMsg_V& Packet::_internal_string_msg_v() const {
  return _internal_has_string_msg_v()
      ? *content_.string_msg_v_
      : reinterpret_cast< ::ignition::msgs::StringMsg_V&>(::ignition::msgs::_StringMsg_V_default_instance_);
}
inline const ::ignition::msgs::StringMsg_V& Packet::string_msg_v() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.string_msg_v)
  return _internal_string_msg_v();
}
inline ::ignition::msgs::StringMsg_V* Packet::unsafe_arena_release_string_msg_v() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.string_msg_v)
  if (_internal_has_string_msg_v()) {
    clear_has_content();
    ::ignition::msgs::StringMsg_V* temp = content_.string_msg_v_;
    content_.string_msg_v_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_string_msg_v(::ignition::msgs::StringMsg_V* string_msg_v) {
  clear_content();
  if (string_msg_v) {
    set_has_string_msg_v();
    content_.string_msg_v_ = string_msg_v;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.string_msg_v)
}
inline ::ignition::msgs::StringMsg_V* Packet::_internal_mutable_string_msg_v() {
  if (!_internal_has_string_msg_v()) {
    clear_content();
    set_has_string_msg_v();
    content_.string_msg_v_ = CreateMaybeMessage< ::ignition::msgs::StringMsg_V >(GetArenaForAllocation());
  }
  return content_.string_msg_v_;
}
inline ::ignition::msgs::StringMsg_V* Packet::mutable_string_msg_v() {
  ::ignition::msgs::StringMsg_V* _msg = _internal_mutable_string_msg_v();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.string_msg_v)
  return _msg;
}

// .ignition.msgs.WebRequest web_request = 6;
inline bool Packet::_internal_has_web_request() const {
  return content_case() == kWebRequest;
}
inline bool Packet::has_web_request() const {
  return _internal_has_web_request();
}
inline void Packet::set_has_web_request() {
  _oneof_case_[0] = kWebRequest;
}
inline ::ignition::msgs::WebRequest* Packet::release_web_request() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.web_request)
  if (_internal_has_web_request()) {
    clear_has_content();
      ::ignition::msgs::WebRequest* temp = content_.web_request_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.web_request_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::WebRequest& Packet::_internal_web_request() const {
  return _internal_has_web_request()
      ? *content_.web_request_
      : reinterpret_cast< ::ignition::msgs::WebRequest&>(::ignition::msgs::_WebRequest_default_instance_);
}
inline const ::ignition::msgs::WebRequest& Packet::web_request() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.web_request)
  return _internal_web_request();
}
inline ::ignition::msgs::WebRequest* Packet::unsafe_arena_release_web_request() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.web_request)
  if (_internal_has_web_request()) {
    clear_has_content();
    ::ignition::msgs::WebRequest* temp = content_.web_request_;
    content_.web_request_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_web_request(::ignition::msgs::WebRequest* web_request) {
  clear_content();
  if (web_request) {
    set_has_web_request();
    content_.web_request_ = web_request;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.web_request)
}
inline ::ignition::msgs::WebRequest* Packet::_internal_mutable_web_request() {
  if (!_internal_has_web_request()) {
    clear_content();
    set_has_web_request();
    content_.web_request_ = CreateMaybeMessage< ::ignition::msgs::WebRequest >(GetArenaForAllocation());
  }
  return content_.web_request_;
}
inline ::ignition::msgs::WebRequest* Packet::mutable_web_request() {
  ::ignition::msgs::WebRequest* _msg = _internal_mutable_web_request();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.web_request)
  return _msg;
}

// .ignition.msgs.Pose pose = 7;
inline bool Packet::_internal_has_pose() const {
  return content_case() == kPose;
}
inline bool Packet::has_pose() const {
  return _internal_has_pose();
}
inline void Packet::set_has_pose() {
  _oneof_case_[0] = kPose;
}
inline ::ignition::msgs::Pose* Packet::release_pose() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.pose)
  if (_internal_has_pose()) {
    clear_has_content();
      ::ignition::msgs::Pose* temp = content_.pose_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.pose_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Pose& Packet::_internal_pose() const {
  return _internal_has_pose()
      ? *content_.pose_
      : reinterpret_cast< ::ignition::msgs::Pose&>(::ignition::msgs::_Pose_default_instance_);
}
inline const ::ignition::msgs::Pose& Packet::pose() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.pose)
  return _internal_pose();
}
inline ::ignition::msgs::Pose* Packet::unsafe_arena_release_pose() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.pose)
  if (_internal_has_pose()) {
    clear_has_content();
    ::ignition::msgs::Pose* temp = content_.pose_;
    content_.pose_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_pose(::ignition::msgs::Pose* pose) {
  clear_content();
  if (pose) {
    set_has_pose();
    content_.pose_ = pose;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.pose)
}
inline ::ignition::msgs::Pose* Packet::_internal_mutable_pose() {
  if (!_internal_has_pose()) {
    clear_content();
    set_has_pose();
    content_.pose_ = CreateMaybeMessage< ::ignition::msgs::Pose >(GetArenaForAllocation());
  }
  return content_.pose_;
}
inline ::ignition::msgs::Pose* Packet::mutable_pose() {
  ::ignition::msgs::Pose* _msg = _internal_mutable_pose();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.pose)
  return _msg;
}

// .ignition.msgs.Double_V doublev = 8;
inline bool Packet::_internal_has_doublev() const {
  return content_case() == kDoublev;
}
inline bool Packet::has_doublev() const {
  return _internal_has_doublev();
}
inline void Packet::set_has_doublev() {
  _oneof_case_[0] = kDoublev;
}
inline ::ignition::msgs::Double_V* Packet::release_doublev() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.doublev)
  if (_internal_has_doublev()) {
    clear_has_content();
      ::ignition::msgs::Double_V* temp = content_.doublev_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.doublev_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Double_V& Packet::_internal_doublev() const {
  return _internal_has_doublev()
      ? *content_.doublev_
      : reinterpret_cast< ::ignition::msgs::Double_V&>(::ignition::msgs::_Double_V_default_instance_);
}
inline const ::ignition::msgs::Double_V& Packet::doublev() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.doublev)
  return _internal_doublev();
}
inline ::ignition::msgs::Double_V* Packet::unsafe_arena_release_doublev() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.doublev)
  if (_internal_has_doublev()) {
    clear_has_content();
    ::ignition::msgs::Double_V* temp = content_.doublev_;
    content_.doublev_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_doublev(::ignition::msgs::Double_V* doublev) {
  clear_content();
  if (doublev) {
    set_has_doublev();
    content_.doublev_ = doublev;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.doublev)
}
inline ::ignition::msgs::Double_V* Packet::_internal_mutable_doublev() {
  if (!_internal_has_doublev()) {
    clear_content();
    set_has_doublev();
    content_.doublev_ = CreateMaybeMessage< ::ignition::msgs::Double_V >(GetArenaForAllocation());
  }
  return content_.doublev_;
}
inline ::ignition::msgs::Double_V* Packet::mutable_doublev() {
  ::ignition::msgs::Double_V* _msg = _internal_mutable_doublev();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.doublev)
  return _msg;
}

// .ignition.msgs.Pose_V pose_v = 9;
inline bool Packet::_internal_has_pose_v() const {
  return content_case() == kPoseV;
}
inline bool Packet::has_pose_v() const {
  return _internal_has_pose_v();
}
inline void Packet::set_has_pose_v() {
  _oneof_case_[0] = kPoseV;
}
inline ::ignition::msgs::Pose_V* Packet::release_pose_v() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.pose_v)
  if (_internal_has_pose_v()) {
    clear_has_content();
      ::ignition::msgs::Pose_V* temp = content_.pose_v_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.pose_v_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Pose_V& Packet::_internal_pose_v() const {
  return _internal_has_pose_v()
      ? *content_.pose_v_
      : reinterpret_cast< ::ignition::msgs::Pose_V&>(::ignition::msgs::_Pose_V_default_instance_);
}
inline const ::ignition::msgs::Pose_V& Packet::pose_v() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.pose_v)
  return _internal_pose_v();
}
inline ::ignition::msgs::Pose_V* Packet::unsafe_arena_release_pose_v() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.pose_v)
  if (_internal_has_pose_v()) {
    clear_has_content();
    ::ignition::msgs::Pose_V* temp = content_.pose_v_;
    content_.pose_v_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_pose_v(::ignition::msgs::Pose_V* pose_v) {
  clear_content();
  if (pose_v) {
    set_has_pose_v();
    content_.pose_v_ = pose_v;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.pose_v)
}
inline ::ignition::msgs::Pose_V* Packet::_internal_mutable_pose_v() {
  if (!_internal_has_pose_v()) {
    clear_content();
    set_has_pose_v();
    content_.pose_v_ = CreateMaybeMessage< ::ignition::msgs::Pose_V >(GetArenaForAllocation());
  }
  return content_.pose_v_;
}
inline ::ignition::msgs::Pose_V* Packet::mutable_pose_v() {
  ::ignition::msgs::Pose_V* _msg = _internal_mutable_pose_v();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.pose_v)
  return _msg;
}

// .ignition.msgs.Time time = 10;
inline bool Packet::_internal_has_time() const {
  return content_case() == kTime;
}
inline bool Packet::has_time() const {
  return _internal_has_time();
}
inline void Packet::set_has_time() {
  _oneof_case_[0] = kTime;
}
inline ::ignition::msgs::Time* Packet::release_time() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.time)
  if (_internal_has_time()) {
    clear_has_content();
      ::ignition::msgs::Time* temp = content_.time_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.time_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Time& Packet::_internal_time() const {
  return _internal_has_time()
      ? *content_.time_
      : reinterpret_cast< ::ignition::msgs::Time&>(::ignition::msgs::_Time_default_instance_);
}
inline const ::ignition::msgs::Time& Packet::time() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.time)
  return _internal_time();
}
inline ::ignition::msgs::Time* Packet::unsafe_arena_release_time() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.time)
  if (_internal_has_time()) {
    clear_has_content();
    ::ignition::msgs::Time* temp = content_.time_;
    content_.time_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_time(::ignition::msgs::Time* time) {
  clear_content();
  if (time) {
    set_has_time();
    content_.time_ = time;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.time)
}
inline ::ignition::msgs::Time* Packet::_internal_mutable_time() {
  if (!_internal_has_time()) {
    clear_content();
    set_has_time();
    content_.time_ = CreateMaybeMessage< ::ignition::msgs::Time >(GetArenaForAllocation());
  }
  return content_.time_;
}
inline ::ignition::msgs::Time* Packet::mutable_time() {
  ::ignition::msgs::Time* _msg = _internal_mutable_time();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.time)
  return _msg;
}

// .ignition.msgs.Clock clock = 11;
inline bool Packet::_internal_has_clock() const {
  return content_case() == kClock;
}
inline bool Packet::has_clock() const {
  return _internal_has_clock();
}
inline void Packet::set_has_clock() {
  _oneof_case_[0] = kClock;
}
inline ::ignition::msgs::Clock* Packet::release_clock() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.clock)
  if (_internal_has_clock()) {
    clear_has_content();
      ::ignition::msgs::Clock* temp = content_.clock_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.clock_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Clock& Packet::_internal_clock() const {
  return _internal_has_clock()
      ? *content_.clock_
      : reinterpret_cast< ::ignition::msgs::Clock&>(::ignition::msgs::_Clock_default_instance_);
}
inline const ::ignition::msgs::Clock& Packet::clock() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.clock)
  return _internal_clock();
}
inline ::ignition::msgs::Clock* Packet::unsafe_arena_release_clock() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.clock)
  if (_internal_has_clock()) {
    clear_has_content();
    ::ignition::msgs::Clock* temp = content_.clock_;
    content_.clock_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_clock(::ignition::msgs::Clock* clock) {
  clear_content();
  if (clock) {
    set_has_clock();
    content_.clock_ = clock;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.clock)
}
inline ::ignition::msgs::Clock* Packet::_internal_mutable_clock() {
  if (!_internal_has_clock()) {
    clear_content();
    set_has_clock();
    content_.clock_ = CreateMaybeMessage< ::ignition::msgs::Clock >(GetArenaForAllocation());
  }
  return content_.clock_;
}
inline ::ignition::msgs::Clock* Packet::mutable_clock() {
  ::ignition::msgs::Clock* _msg = _internal_mutable_clock();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.clock)
  return _msg;
}

// .ignition.msgs.WorldStatistics world_stats = 12;
inline bool Packet::_internal_has_world_stats() const {
  return content_case() == kWorldStats;
}
inline bool Packet::has_world_stats() const {
  return _internal_has_world_stats();
}
inline void Packet::set_has_world_stats() {
  _oneof_case_[0] = kWorldStats;
}
inline ::ignition::msgs::WorldStatistics* Packet::release_world_stats() {
  // @@protoc_insertion_point(field_release:ignition.msgs.Packet.world_stats)
  if (_internal_has_world_stats()) {
    clear_has_content();
      ::ignition::msgs::WorldStatistics* temp = content_.world_stats_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    content_.world_stats_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::WorldStatistics& Packet::_internal_world_stats() const {
  return _internal_has_world_stats()
      ? *content_.world_stats_
      : reinterpret_cast< ::ignition::msgs::WorldStatistics&>(::ignition::msgs::_WorldStatistics_default_instance_);
}
inline const ::ignition::msgs::WorldStatistics& Packet::world_stats() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.Packet.world_stats)
  return _internal_world_stats();
}
inline ::ignition::msgs::WorldStatistics* Packet::unsafe_arena_release_world_stats() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.Packet.world_stats)
  if (_internal_has_world_stats()) {
    clear_has_content();
    ::ignition::msgs::WorldStatistics* temp = content_.world_stats_;
    content_.world_stats_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void Packet::unsafe_arena_set_allocated_world_stats(::ignition::msgs::WorldStatistics* world_stats) {
  clear_content();
  if (world_stats) {
    set_has_world_stats();
    content_.world_stats_ = world_stats;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.Packet.world_stats)
}
inline ::ignition::msgs::WorldStatistics* Packet::_internal_mutable_world_stats() {
  if (!_internal_has_world_stats()) {
    clear_content();
    set_has_world_stats();
    content_.world_stats_ = CreateMaybeMessage< ::ignition::msgs::WorldStatistics >(GetArenaForAllocation());
  }
  return content_.world_stats_;
}
inline ::ignition::msgs::WorldStatistics* Packet::mutable_world_stats() {
  ::ignition::msgs::WorldStatistics* _msg = _internal_mutable_world_stats();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.Packet.world_stats)
  return _msg;
}

inline bool Packet::has_content() const {
  return content_case() != CONTENT_NOT_SET;
}
inline void Packet::clear_has_content() {
  _oneof_case_[0] = CONTENT_NOT_SET;
}
inline Packet::ContentCase Packet::content_case() const {
  return Packet::ContentCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__

typedef std::unique_ptr<Packet> PacketUniquePtr;
typedef std::unique_ptr<const Packet> ConstPacketUniquePtr;
typedef std::shared_ptr<Packet> PacketSharedPtr;
typedef std::shared_ptr<const Packet> ConstPacketSharedPtr;
// @@protoc_insertion_point(namespace_scope)

}  // namespace msgs
}  // namespace ignition

#ifdef _MSC_VER
#pragma warning(pop)
#endif
// @@protoc_insertion_point(global_scope)

#include <google/protobuf/port_undef.inc>
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_ignition_2fmsgs_2fpacket_2eproto
