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

#ifndef GOOGLE_PROTOBUF_INCLUDED_ignition_2fmsgs_2ffuel_5fmetadata_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_ignition_2fmsgs_2ffuel_5fmetadata_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/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry.h>
#include <google/protobuf/map_field_inl.h>
#include <google/protobuf/unknown_field_set.h>
#include "ignition/msgs/version.pb.h"
#include "ignition/msgs/version_range.pb.h"
#include "ignition/msgs/versioned_name.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_2ffuel_5fmetadata_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_2ffuel_5fmetadata_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[9]
    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_2ffuel_5fmetadata_2eproto;
namespace ignition {
namespace msgs {
class FuelMetadata;
struct FuelMetadataDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadataDefaultTypeInternal _FuelMetadata_default_instance_;
class FuelMetadata_AnnotationsEntry_DoNotUse;
struct FuelMetadata_AnnotationsEntry_DoNotUseDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_AnnotationsEntry_DoNotUseDefaultTypeInternal _FuelMetadata_AnnotationsEntry_DoNotUse_default_instance_;
class FuelMetadata_Categories;
struct FuelMetadata_CategoriesDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_CategoriesDefaultTypeInternal _FuelMetadata_Categories_default_instance_;
class FuelMetadata_Compatibility;
struct FuelMetadata_CompatibilityDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_CompatibilityDefaultTypeInternal _FuelMetadata_Compatibility_default_instance_;
class FuelMetadata_Contact;
struct FuelMetadata_ContactDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_ContactDefaultTypeInternal _FuelMetadata_Contact_default_instance_;
class FuelMetadata_Dependency;
struct FuelMetadata_DependencyDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_DependencyDefaultTypeInternal _FuelMetadata_Dependency_default_instance_;
class FuelMetadata_Legal;
struct FuelMetadata_LegalDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_LegalDefaultTypeInternal _FuelMetadata_Legal_default_instance_;
class FuelMetadata_Model;
struct FuelMetadata_ModelDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_ModelDefaultTypeInternal _FuelMetadata_Model_default_instance_;
class FuelMetadata_World;
struct FuelMetadata_WorldDefaultTypeInternal;
IGNITION_MSGS_VISIBLE extern FuelMetadata_WorldDefaultTypeInternal _FuelMetadata_World_default_instance_;
}  // namespace msgs
}  // namespace ignition
PROTOBUF_NAMESPACE_OPEN
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_AnnotationsEntry_DoNotUse* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_AnnotationsEntry_DoNotUse>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Categories* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Categories>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Compatibility* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Compatibility>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Contact* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Contact>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Dependency* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Dependency>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Legal* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Legal>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_Model* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_Model>(Arena*);
template<> IGNITION_MSGS_VISIBLE ::ignition::msgs::FuelMetadata_World* Arena::CreateMaybeMessage<::ignition::msgs::FuelMetadata_World>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace ignition {
namespace msgs {

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

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

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

  inline FuelMetadata_Contact& operator=(const FuelMetadata_Contact& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Contact& operator=(FuelMetadata_Contact&& 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 FuelMetadata_Contact& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_Contact* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Contact*>(
               &_FuelMetadata_Contact_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

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

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

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

  FuelMetadata_Contact* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Contact>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Contact& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Contact& 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(FuelMetadata_Contact* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Contact";
  }
  protected:
  explicit FuelMetadata_Contact(::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 {
    kNameFieldNumber = 1,
    kEmailFieldNumber = 2,
  };
  // string name = 1;
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_MUST_USE_RESULT std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string email = 2;
  void clear_email();
  const std::string& email() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_email(ArgT0&& arg0, ArgT... args);
  std::string* mutable_email();
  PROTOBUF_MUST_USE_RESULT std::string* release_email();
  void set_allocated_email(std::string* email);
  private:
  const std::string& _internal_email() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_email(const std::string& value);
  std::string* _internal_mutable_email();
  public:

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Contact)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr email_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_Legal& operator=(const FuelMetadata_Legal& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Legal& operator=(FuelMetadata_Legal&& 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 FuelMetadata_Legal& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_Legal* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Legal*>(
               &_FuelMetadata_Legal_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

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

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

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

  FuelMetadata_Legal* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Legal>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Legal& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Legal& 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(FuelMetadata_Legal* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Legal";
  }
  protected:
  explicit FuelMetadata_Legal(::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 {
    kCopyrightFieldNumber = 1,
    kLicenseFieldNumber = 2,
  };
  // string copyright = 1;
  void clear_copyright();
  const std::string& copyright() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_copyright(ArgT0&& arg0, ArgT... args);
  std::string* mutable_copyright();
  PROTOBUF_MUST_USE_RESULT std::string* release_copyright();
  void set_allocated_copyright(std::string* copyright);
  private:
  const std::string& _internal_copyright() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_copyright(const std::string& value);
  std::string* _internal_mutable_copyright();
  public:

  // string license = 2;
  void clear_license();
  const std::string& license() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_license(ArgT0&& arg0, ArgT... args);
  std::string* mutable_license();
  PROTOBUF_MUST_USE_RESULT std::string* release_license();
  void set_allocated_license(std::string* license);
  private:
  const std::string& _internal_license() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_license(const std::string& value);
  std::string* _internal_mutable_license();
  public:

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Legal)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr copyright_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr license_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_Model& operator=(const FuelMetadata_Model& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Model& operator=(FuelMetadata_Model&& 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 FuelMetadata_Model& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_Model* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Model*>(
               &_FuelMetadata_Model_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

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

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

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

  FuelMetadata_Model* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Model>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Model& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Model& 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(FuelMetadata_Model* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Model";
  }
  protected:
  explicit FuelMetadata_Model(::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 {
    kFileFieldNumber = 1,
    kFileFormatFieldNumber = 2,
  };
  // string file = 1;
  void clear_file();
  const std::string& file() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file();
  PROTOBUF_MUST_USE_RESULT std::string* release_file();
  void set_allocated_file(std::string* file);
  private:
  const std::string& _internal_file() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file(const std::string& value);
  std::string* _internal_mutable_file();
  public:

  // .ignition.msgs.VersionedName file_format = 2;
  bool has_file_format() const;
  private:
  bool _internal_has_file_format() const;
  public:
  void clear_file_format();
  const ::ignition::msgs::VersionedName& file_format() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::VersionedName* release_file_format();
  ::ignition::msgs::VersionedName* mutable_file_format();
  void set_allocated_file_format(::ignition::msgs::VersionedName* file_format);
  private:
  const ::ignition::msgs::VersionedName& _internal_file_format() const;
  ::ignition::msgs::VersionedName* _internal_mutable_file_format();
  public:
  void unsafe_arena_set_allocated_file_format(
      ::ignition::msgs::VersionedName* file_format);
  ::ignition::msgs::VersionedName* unsafe_arena_release_file_format();

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Model)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_;
  ::ignition::msgs::VersionedName* file_format_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_World& operator=(const FuelMetadata_World& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_World& operator=(FuelMetadata_World&& 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 FuelMetadata_World& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_World* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_World*>(
               &_FuelMetadata_World_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

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

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

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

  FuelMetadata_World* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_World>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_World& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_World& 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(FuelMetadata_World* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.World";
  }
  protected:
  explicit FuelMetadata_World(::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 {
    kFileFieldNumber = 1,
    kFileFormatFieldNumber = 2,
  };
  // string file = 1;
  void clear_file();
  const std::string& file() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_file(ArgT0&& arg0, ArgT... args);
  std::string* mutable_file();
  PROTOBUF_MUST_USE_RESULT std::string* release_file();
  void set_allocated_file(std::string* file);
  private:
  const std::string& _internal_file() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_file(const std::string& value);
  std::string* _internal_mutable_file();
  public:

  // .ignition.msgs.VersionedName file_format = 2;
  bool has_file_format() const;
  private:
  bool _internal_has_file_format() const;
  public:
  void clear_file_format();
  const ::ignition::msgs::VersionedName& file_format() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::VersionedName* release_file_format();
  ::ignition::msgs::VersionedName* mutable_file_format();
  void set_allocated_file_format(::ignition::msgs::VersionedName* file_format);
  private:
  const ::ignition::msgs::VersionedName& _internal_file_format() const;
  ::ignition::msgs::VersionedName* _internal_mutable_file_format();
  public:
  void unsafe_arena_set_allocated_file_format(
      ::ignition::msgs::VersionedName* file_format);
  ::ignition::msgs::VersionedName* unsafe_arena_release_file_format();

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.World)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr file_;
  ::ignition::msgs::VersionedName* file_format_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_Dependency& operator=(const FuelMetadata_Dependency& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Dependency& operator=(FuelMetadata_Dependency&& 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 FuelMetadata_Dependency& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_Dependency* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Dependency*>(
               &_FuelMetadata_Dependency_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

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

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

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

  FuelMetadata_Dependency* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Dependency>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Dependency& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Dependency& 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(FuelMetadata_Dependency* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Dependency";
  }
  protected:
  explicit FuelMetadata_Dependency(::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 {
    kUriFieldNumber = 1,
  };
  // string uri = 1;
  void clear_uri();
  const std::string& uri() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_uri(ArgT0&& arg0, ArgT... args);
  std::string* mutable_uri();
  PROTOBUF_MUST_USE_RESULT std::string* release_uri();
  void set_allocated_uri(std::string* uri);
  private:
  const std::string& _internal_uri() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_uri(const std::string& value);
  std::string* _internal_mutable_uri();
  public:

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Dependency)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_Compatibility& operator=(const FuelMetadata_Compatibility& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Compatibility& operator=(FuelMetadata_Compatibility&& 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 FuelMetadata_Compatibility& default_instance() {
    return *internal_default_instance();
  }
  enum VersionTypeCase {
    kVersion = 2,
    kVersionRange = 3,
    VERSION_TYPE_NOT_SET = 0,
  };

  static inline const FuelMetadata_Compatibility* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Compatibility*>(
               &_FuelMetadata_Compatibility_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

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

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

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

  FuelMetadata_Compatibility* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Compatibility>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Compatibility& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Compatibility& 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(FuelMetadata_Compatibility* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Compatibility";
  }
  protected:
  explicit FuelMetadata_Compatibility(::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 {
    kNameFieldNumber = 1,
    kVersionFieldNumber = 2,
    kVersionRangeFieldNumber = 3,
  };
  // string name = 1;
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_MUST_USE_RESULT std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // .ignition.msgs.Version version = 2;
  bool has_version() const;
  private:
  bool _internal_has_version() const;
  public:
  void clear_version();
  const ::ignition::msgs::Version& version() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::Version* release_version();
  ::ignition::msgs::Version* mutable_version();
  void set_allocated_version(::ignition::msgs::Version* version);
  private:
  const ::ignition::msgs::Version& _internal_version() const;
  ::ignition::msgs::Version* _internal_mutable_version();
  public:
  void unsafe_arena_set_allocated_version(
      ::ignition::msgs::Version* version);
  ::ignition::msgs::Version* unsafe_arena_release_version();

  // .ignition.msgs.VersionRange version_range = 3;
  bool has_version_range() const;
  private:
  bool _internal_has_version_range() const;
  public:
  void clear_version_range();
  const ::ignition::msgs::VersionRange& version_range() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::VersionRange* release_version_range();
  ::ignition::msgs::VersionRange* mutable_version_range();
  void set_allocated_version_range(::ignition::msgs::VersionRange* version_range);
  private:
  const ::ignition::msgs::VersionRange& _internal_version_range() const;
  ::ignition::msgs::VersionRange* _internal_mutable_version_range();
  public:
  void unsafe_arena_set_allocated_version_range(
      ::ignition::msgs::VersionRange* version_range);
  ::ignition::msgs::VersionRange* unsafe_arena_release_version_range();

  void clear_version_type();
  VersionTypeCase version_type_case() const;
  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Compatibility)
 private:
  class _Internal;
  void set_has_version();
  void set_has_version_range();

  inline bool has_version_type() const;
  inline void clear_has_version_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  union VersionTypeUnion {
    constexpr VersionTypeUnion() : _constinit_{} {}
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
    ::ignition::msgs::Version* version_;
    ::ignition::msgs::VersionRange* version_range_;
  } version_type_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

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

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

  inline FuelMetadata_Categories& operator=(const FuelMetadata_Categories& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata_Categories& operator=(FuelMetadata_Categories&& 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 FuelMetadata_Categories& default_instance() {
    return *internal_default_instance();
  }
  static inline const FuelMetadata_Categories* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata_Categories*>(
               &_FuelMetadata_Categories_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

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

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

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

  FuelMetadata_Categories* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata_Categories>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata_Categories& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata_Categories& 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(FuelMetadata_Categories* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata.Categories";
  }
  protected:
  explicit FuelMetadata_Categories(::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 {
    kFirstFieldNumber = 1,
    kSecondFieldNumber = 2,
  };
  // string first = 1;
  void clear_first();
  const std::string& first() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_first(ArgT0&& arg0, ArgT... args);
  std::string* mutable_first();
  PROTOBUF_MUST_USE_RESULT std::string* release_first();
  void set_allocated_first(std::string* first);
  private:
  const std::string& _internal_first() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_first(const std::string& value);
  std::string* _internal_mutable_first();
  public:

  // string second = 2;
  void clear_second();
  const std::string& second() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_second(ArgT0&& arg0, ArgT... args);
  std::string* mutable_second();
  PROTOBUF_MUST_USE_RESULT std::string* release_second();
  void set_allocated_second(std::string* second);
  private:
  const std::string& _internal_second() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_second(const std::string& value);
  std::string* _internal_mutable_second();
  public:

  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata.Categories)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr first_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr second_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// -------------------------------------------------------------------

class FuelMetadata_AnnotationsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<FuelMetadata_AnnotationsEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<FuelMetadata_AnnotationsEntry_DoNotUse, 
    std::string, std::string,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> SuperType;
  FuelMetadata_AnnotationsEntry_DoNotUse();
  explicit constexpr FuelMetadata_AnnotationsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit FuelMetadata_AnnotationsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const FuelMetadata_AnnotationsEntry_DoNotUse& other);
  static const FuelMetadata_AnnotationsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const FuelMetadata_AnnotationsEntry_DoNotUse*>(&_FuelMetadata_AnnotationsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "ignition.msgs.FuelMetadata.AnnotationsEntry.key");
 }
  static bool ValidateValue(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), static_cast<int>(s->size()), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "ignition.msgs.FuelMetadata.AnnotationsEntry.value");
 }
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
};

// -------------------------------------------------------------------

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

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

  inline FuelMetadata& operator=(const FuelMetadata& from) {
    CopyFrom(from);
    return *this;
  }
  inline FuelMetadata& operator=(FuelMetadata&& 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 FuelMetadata& default_instance() {
    return *internal_default_instance();
  }
  enum ResourceTypeCase {
    kModel = 1,
    kWorld = 2,
    RESOURCE_TYPE_NOT_SET = 0,
  };

  static inline const FuelMetadata* internal_default_instance() {
    return reinterpret_cast<const FuelMetadata*>(
               &_FuelMetadata_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

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

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

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

  FuelMetadata* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage<FuelMetadata>(arena);
  }
  using ::PROTOBUF_NAMESPACE_ID::Message::CopyFrom;
  void CopyFrom(const FuelMetadata& from);
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  void MergeFrom(const FuelMetadata& 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(FuelMetadata* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "ignition.msgs.FuelMetadata";
  }
  protected:
  explicit FuelMetadata(::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 ----------------------------------------------------

  typedef FuelMetadata_Contact Contact;
  typedef FuelMetadata_Legal Legal;
  typedef FuelMetadata_Model Model;
  typedef FuelMetadata_World World;
  typedef FuelMetadata_Dependency Dependency;
  typedef FuelMetadata_Compatibility Compatibility;
  typedef FuelMetadata_Categories Categories;

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

  enum : int {
    kAuthorsFieldNumber = 6,
    kTagsFieldNumber = 8,
    kAnnotationsFieldNumber = 9,
    kDependenciesFieldNumber = 10,
    kCompatibilitiesFieldNumber = 11,
    kNameFieldNumber = 3,
    kDescriptionFieldNumber = 4,
    kLegalFieldNumber = 7,
    kCategoriesFieldNumber = 12,
    kVersionFieldNumber = 5,
    kModelFieldNumber = 1,
    kWorldFieldNumber = 2,
  };
  // repeated .ignition.msgs.FuelMetadata.Contact authors = 6;
  int authors_size() const;
  private:
  int _internal_authors_size() const;
  public:
  void clear_authors();
  ::ignition::msgs::FuelMetadata_Contact* mutable_authors(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Contact >*
      mutable_authors();
  private:
  const ::ignition::msgs::FuelMetadata_Contact& _internal_authors(int index) const;
  ::ignition::msgs::FuelMetadata_Contact* _internal_add_authors();
  public:
  const ::ignition::msgs::FuelMetadata_Contact& authors(int index) const;
  ::ignition::msgs::FuelMetadata_Contact* add_authors();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Contact >&
      authors() const;

  // repeated string tags = 8;
  int tags_size() const;
  private:
  int _internal_tags_size() const;
  public:
  void clear_tags();
  const std::string& tags(int index) const;
  std::string* mutable_tags(int index);
  void set_tags(int index, const std::string& value);
  void set_tags(int index, std::string&& value);
  void set_tags(int index, const char* value);
  void set_tags(int index, const char* value, size_t size);
  std::string* add_tags();
  void add_tags(const std::string& value);
  void add_tags(std::string&& value);
  void add_tags(const char* value);
  void add_tags(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>& tags() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>* mutable_tags();
  private:
  const std::string& _internal_tags(int index) const;
  std::string* _internal_add_tags();
  public:

  // map<string, string> annotations = 9;
  int annotations_size() const;
  private:
  int _internal_annotations_size() const;
  public:
  void clear_annotations();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      _internal_annotations() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      _internal_mutable_annotations();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      annotations() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      mutable_annotations();

  // repeated .ignition.msgs.FuelMetadata.Dependency dependencies = 10;
  int dependencies_size() const;
  private:
  int _internal_dependencies_size() const;
  public:
  void clear_dependencies();
  ::ignition::msgs::FuelMetadata_Dependency* mutable_dependencies(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Dependency >*
      mutable_dependencies();
  private:
  const ::ignition::msgs::FuelMetadata_Dependency& _internal_dependencies(int index) const;
  ::ignition::msgs::FuelMetadata_Dependency* _internal_add_dependencies();
  public:
  const ::ignition::msgs::FuelMetadata_Dependency& dependencies(int index) const;
  ::ignition::msgs::FuelMetadata_Dependency* add_dependencies();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Dependency >&
      dependencies() const;

  // repeated .ignition.msgs.FuelMetadata.Compatibility compatibilities = 11;
  int compatibilities_size() const;
  private:
  int _internal_compatibilities_size() const;
  public:
  void clear_compatibilities();
  ::ignition::msgs::FuelMetadata_Compatibility* mutable_compatibilities(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Compatibility >*
      mutable_compatibilities();
  private:
  const ::ignition::msgs::FuelMetadata_Compatibility& _internal_compatibilities(int index) const;
  ::ignition::msgs::FuelMetadata_Compatibility* _internal_add_compatibilities();
  public:
  const ::ignition::msgs::FuelMetadata_Compatibility& compatibilities(int index) const;
  ::ignition::msgs::FuelMetadata_Compatibility* add_compatibilities();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Compatibility >&
      compatibilities() const;

  // string name = 3;
  void clear_name();
  const std::string& name() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_name(ArgT0&& arg0, ArgT... args);
  std::string* mutable_name();
  PROTOBUF_MUST_USE_RESULT std::string* release_name();
  void set_allocated_name(std::string* name);
  private:
  const std::string& _internal_name() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_name(const std::string& value);
  std::string* _internal_mutable_name();
  public:

  // string description = 4;
  void clear_description();
  const std::string& description() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_description(ArgT0&& arg0, ArgT... args);
  std::string* mutable_description();
  PROTOBUF_MUST_USE_RESULT std::string* release_description();
  void set_allocated_description(std::string* description);
  private:
  const std::string& _internal_description() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_description(const std::string& value);
  std::string* _internal_mutable_description();
  public:

  // .ignition.msgs.FuelMetadata.Legal legal = 7;
  bool has_legal() const;
  private:
  bool _internal_has_legal() const;
  public:
  void clear_legal();
  const ::ignition::msgs::FuelMetadata_Legal& legal() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::FuelMetadata_Legal* release_legal();
  ::ignition::msgs::FuelMetadata_Legal* mutable_legal();
  void set_allocated_legal(::ignition::msgs::FuelMetadata_Legal* legal);
  private:
  const ::ignition::msgs::FuelMetadata_Legal& _internal_legal() const;
  ::ignition::msgs::FuelMetadata_Legal* _internal_mutable_legal();
  public:
  void unsafe_arena_set_allocated_legal(
      ::ignition::msgs::FuelMetadata_Legal* legal);
  ::ignition::msgs::FuelMetadata_Legal* unsafe_arena_release_legal();

  // .ignition.msgs.FuelMetadata.Categories categories = 12;
  bool has_categories() const;
  private:
  bool _internal_has_categories() const;
  public:
  void clear_categories();
  const ::ignition::msgs::FuelMetadata_Categories& categories() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::FuelMetadata_Categories* release_categories();
  ::ignition::msgs::FuelMetadata_Categories* mutable_categories();
  void set_allocated_categories(::ignition::msgs::FuelMetadata_Categories* categories);
  private:
  const ::ignition::msgs::FuelMetadata_Categories& _internal_categories() const;
  ::ignition::msgs::FuelMetadata_Categories* _internal_mutable_categories();
  public:
  void unsafe_arena_set_allocated_categories(
      ::ignition::msgs::FuelMetadata_Categories* categories);
  ::ignition::msgs::FuelMetadata_Categories* unsafe_arena_release_categories();

  // int32 version = 5;
  void clear_version();
  ::PROTOBUF_NAMESPACE_ID::int32 version() const;
  void set_version(::PROTOBUF_NAMESPACE_ID::int32 value);
  private:
  ::PROTOBUF_NAMESPACE_ID::int32 _internal_version() const;
  void _internal_set_version(::PROTOBUF_NAMESPACE_ID::int32 value);
  public:

  // .ignition.msgs.FuelMetadata.Model model = 1;
  bool has_model() const;
  private:
  bool _internal_has_model() const;
  public:
  void clear_model();
  const ::ignition::msgs::FuelMetadata_Model& model() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::FuelMetadata_Model* release_model();
  ::ignition::msgs::FuelMetadata_Model* mutable_model();
  void set_allocated_model(::ignition::msgs::FuelMetadata_Model* model);
  private:
  const ::ignition::msgs::FuelMetadata_Model& _internal_model() const;
  ::ignition::msgs::FuelMetadata_Model* _internal_mutable_model();
  public:
  void unsafe_arena_set_allocated_model(
      ::ignition::msgs::FuelMetadata_Model* model);
  ::ignition::msgs::FuelMetadata_Model* unsafe_arena_release_model();

  // .ignition.msgs.FuelMetadata.World world = 2;
  bool has_world() const;
  private:
  bool _internal_has_world() const;
  public:
  void clear_world();
  const ::ignition::msgs::FuelMetadata_World& world() const;
  PROTOBUF_MUST_USE_RESULT ::ignition::msgs::FuelMetadata_World* release_world();
  ::ignition::msgs::FuelMetadata_World* mutable_world();
  void set_allocated_world(::ignition::msgs::FuelMetadata_World* world);
  private:
  const ::ignition::msgs::FuelMetadata_World& _internal_world() const;
  ::ignition::msgs::FuelMetadata_World* _internal_mutable_world();
  public:
  void unsafe_arena_set_allocated_world(
      ::ignition::msgs::FuelMetadata_World* world);
  ::ignition::msgs::FuelMetadata_World* unsafe_arena_release_world();

  void clear_resource_type();
  ResourceTypeCase resource_type_case() const;
  // @@protoc_insertion_point(class_scope:ignition.msgs.FuelMetadata)
 private:
  class _Internal;
  void set_has_model();
  void set_has_world();

  inline bool has_resource_type() const;
  inline void clear_has_resource_type();

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Contact > authors_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string> tags_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      FuelMetadata_AnnotationsEntry_DoNotUse,
      std::string, std::string,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING> annotations_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Dependency > dependencies_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Compatibility > compatibilities_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
  ::ignition::msgs::FuelMetadata_Legal* legal_;
  ::ignition::msgs::FuelMetadata_Categories* categories_;
  ::PROTOBUF_NAMESPACE_ID::int32 version_;
  union ResourceTypeUnion {
    constexpr ResourceTypeUnion() : _constinit_{} {}
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized _constinit_;
    ::ignition::msgs::FuelMetadata_Model* model_;
    ::ignition::msgs::FuelMetadata_World* world_;
  } resource_type_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_ignition_2fmsgs_2ffuel_5fmetadata_2eproto;
};
// ===================================================================


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

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

// string name = 1;
inline void FuelMetadata_Contact::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Contact::name() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Contact.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Contact::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Contact.name)
}
inline std::string* FuelMetadata_Contact::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Contact.name)
  return _s;
}
inline const std::string& FuelMetadata_Contact::_internal_name() const {
  return name_.Get();
}
inline void FuelMetadata_Contact::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Contact::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Contact::release_name() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Contact.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Contact::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Contact.name)
}

// string email = 2;
inline void FuelMetadata_Contact::clear_email() {
  email_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Contact::email() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Contact.email)
  return _internal_email();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Contact::set_email(ArgT0&& arg0, ArgT... args) {
 
 email_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Contact.email)
}
inline std::string* FuelMetadata_Contact::mutable_email() {
  std::string* _s = _internal_mutable_email();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Contact.email)
  return _s;
}
inline const std::string& FuelMetadata_Contact::_internal_email() const {
  return email_.Get();
}
inline void FuelMetadata_Contact::_internal_set_email(const std::string& value) {
  
  email_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Contact::_internal_mutable_email() {
  
  return email_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Contact::release_email() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Contact.email)
  return email_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Contact::set_allocated_email(std::string* email) {
  if (email != nullptr) {
    
  } else {
    
  }
  email_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), email,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Contact.email)
}

// -------------------------------------------------------------------

// FuelMetadata_Legal

// string copyright = 1;
inline void FuelMetadata_Legal::clear_copyright() {
  copyright_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Legal::copyright() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Legal.copyright)
  return _internal_copyright();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Legal::set_copyright(ArgT0&& arg0, ArgT... args) {
 
 copyright_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Legal.copyright)
}
inline std::string* FuelMetadata_Legal::mutable_copyright() {
  std::string* _s = _internal_mutable_copyright();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Legal.copyright)
  return _s;
}
inline const std::string& FuelMetadata_Legal::_internal_copyright() const {
  return copyright_.Get();
}
inline void FuelMetadata_Legal::_internal_set_copyright(const std::string& value) {
  
  copyright_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Legal::_internal_mutable_copyright() {
  
  return copyright_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Legal::release_copyright() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Legal.copyright)
  return copyright_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Legal::set_allocated_copyright(std::string* copyright) {
  if (copyright != nullptr) {
    
  } else {
    
  }
  copyright_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), copyright,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Legal.copyright)
}

// string license = 2;
inline void FuelMetadata_Legal::clear_license() {
  license_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Legal::license() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Legal.license)
  return _internal_license();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Legal::set_license(ArgT0&& arg0, ArgT... args) {
 
 license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Legal.license)
}
inline std::string* FuelMetadata_Legal::mutable_license() {
  std::string* _s = _internal_mutable_license();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Legal.license)
  return _s;
}
inline const std::string& FuelMetadata_Legal::_internal_license() const {
  return license_.Get();
}
inline void FuelMetadata_Legal::_internal_set_license(const std::string& value) {
  
  license_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Legal::_internal_mutable_license() {
  
  return license_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Legal::release_license() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Legal.license)
  return license_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Legal::set_allocated_license(std::string* license) {
  if (license != nullptr) {
    
  } else {
    
  }
  license_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), license,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Legal.license)
}

// -------------------------------------------------------------------

// FuelMetadata_Model

// string file = 1;
inline void FuelMetadata_Model::clear_file() {
  file_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Model::file() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Model.file)
  return _internal_file();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Model::set_file(ArgT0&& arg0, ArgT... args) {
 
 file_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Model.file)
}
inline std::string* FuelMetadata_Model::mutable_file() {
  std::string* _s = _internal_mutable_file();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Model.file)
  return _s;
}
inline const std::string& FuelMetadata_Model::_internal_file() const {
  return file_.Get();
}
inline void FuelMetadata_Model::_internal_set_file(const std::string& value) {
  
  file_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Model::_internal_mutable_file() {
  
  return file_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Model::release_file() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Model.file)
  return file_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Model::set_allocated_file(std::string* file) {
  if (file != nullptr) {
    
  } else {
    
  }
  file_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), file,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Model.file)
}

// .ignition.msgs.VersionedName file_format = 2;
inline bool FuelMetadata_Model::_internal_has_file_format() const {
  return this != internal_default_instance() && file_format_ != nullptr;
}
inline bool FuelMetadata_Model::has_file_format() const {
  return _internal_has_file_format();
}
inline const ::ignition::msgs::VersionedName& FuelMetadata_Model::_internal_file_format() const {
  const ::ignition::msgs::VersionedName* p = file_format_;
  return p != nullptr ? *p : reinterpret_cast<const ::ignition::msgs::VersionedName&>(
      ::ignition::msgs::_VersionedName_default_instance_);
}
inline const ::ignition::msgs::VersionedName& FuelMetadata_Model::file_format() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Model.file_format)
  return _internal_file_format();
}
inline void FuelMetadata_Model::unsafe_arena_set_allocated_file_format(
    ::ignition::msgs::VersionedName* file_format) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format_);
  }
  file_format_ = file_format;
  if (file_format) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.Model.file_format)
}
inline ::ignition::msgs::VersionedName* FuelMetadata_Model::release_file_format() {
  
  ::ignition::msgs::VersionedName* temp = file_format_;
  file_format_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_Model::unsafe_arena_release_file_format() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Model.file_format)
  
  ::ignition::msgs::VersionedName* temp = file_format_;
  file_format_ = nullptr;
  return temp;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_Model::_internal_mutable_file_format() {
  
  if (file_format_ == nullptr) {
    auto* p = CreateMaybeMessage<::ignition::msgs::VersionedName>(GetArenaForAllocation());
    file_format_ = p;
  }
  return file_format_;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_Model::mutable_file_format() {
  ::ignition::msgs::VersionedName* _msg = _internal_mutable_file_format();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Model.file_format)
  return _msg;
}
inline void FuelMetadata_Model::set_allocated_file_format(::ignition::msgs::VersionedName* file_format) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format_);
  }
  if (file_format) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format));
    if (message_arena != submessage_arena) {
      file_format = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, file_format, submessage_arena);
    }
    
  } else {
    
  }
  file_format_ = file_format;
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Model.file_format)
}

// -------------------------------------------------------------------

// FuelMetadata_World

// string file = 1;
inline void FuelMetadata_World::clear_file() {
  file_.ClearToEmpty();
}
inline const std::string& FuelMetadata_World::file() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.World.file)
  return _internal_file();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_World::set_file(ArgT0&& arg0, ArgT... args) {
 
 file_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.World.file)
}
inline std::string* FuelMetadata_World::mutable_file() {
  std::string* _s = _internal_mutable_file();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.World.file)
  return _s;
}
inline const std::string& FuelMetadata_World::_internal_file() const {
  return file_.Get();
}
inline void FuelMetadata_World::_internal_set_file(const std::string& value) {
  
  file_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_World::_internal_mutable_file() {
  
  return file_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_World::release_file() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.World.file)
  return file_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_World::set_allocated_file(std::string* file) {
  if (file != nullptr) {
    
  } else {
    
  }
  file_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), file,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.World.file)
}

// .ignition.msgs.VersionedName file_format = 2;
inline bool FuelMetadata_World::_internal_has_file_format() const {
  return this != internal_default_instance() && file_format_ != nullptr;
}
inline bool FuelMetadata_World::has_file_format() const {
  return _internal_has_file_format();
}
inline const ::ignition::msgs::VersionedName& FuelMetadata_World::_internal_file_format() const {
  const ::ignition::msgs::VersionedName* p = file_format_;
  return p != nullptr ? *p : reinterpret_cast<const ::ignition::msgs::VersionedName&>(
      ::ignition::msgs::_VersionedName_default_instance_);
}
inline const ::ignition::msgs::VersionedName& FuelMetadata_World::file_format() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.World.file_format)
  return _internal_file_format();
}
inline void FuelMetadata_World::unsafe_arena_set_allocated_file_format(
    ::ignition::msgs::VersionedName* file_format) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format_);
  }
  file_format_ = file_format;
  if (file_format) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.World.file_format)
}
inline ::ignition::msgs::VersionedName* FuelMetadata_World::release_file_format() {
  
  ::ignition::msgs::VersionedName* temp = file_format_;
  file_format_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_World::unsafe_arena_release_file_format() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.World.file_format)
  
  ::ignition::msgs::VersionedName* temp = file_format_;
  file_format_ = nullptr;
  return temp;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_World::_internal_mutable_file_format() {
  
  if (file_format_ == nullptr) {
    auto* p = CreateMaybeMessage<::ignition::msgs::VersionedName>(GetArenaForAllocation());
    file_format_ = p;
  }
  return file_format_;
}
inline ::ignition::msgs::VersionedName* FuelMetadata_World::mutable_file_format() {
  ::ignition::msgs::VersionedName* _msg = _internal_mutable_file_format();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.World.file_format)
  return _msg;
}
inline void FuelMetadata_World::set_allocated_file_format(::ignition::msgs::VersionedName* file_format) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format_);
  }
  if (file_format) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<
            ::PROTOBUF_NAMESPACE_ID::MessageLite>::GetOwningArena(
                reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(file_format));
    if (message_arena != submessage_arena) {
      file_format = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, file_format, submessage_arena);
    }
    
  } else {
    
  }
  file_format_ = file_format;
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.World.file_format)
}

// -------------------------------------------------------------------

// FuelMetadata_Dependency

// string uri = 1;
inline void FuelMetadata_Dependency::clear_uri() {
  uri_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Dependency::uri() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Dependency.uri)
  return _internal_uri();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Dependency::set_uri(ArgT0&& arg0, ArgT... args) {
 
 uri_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Dependency.uri)
}
inline std::string* FuelMetadata_Dependency::mutable_uri() {
  std::string* _s = _internal_mutable_uri();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Dependency.uri)
  return _s;
}
inline const std::string& FuelMetadata_Dependency::_internal_uri() const {
  return uri_.Get();
}
inline void FuelMetadata_Dependency::_internal_set_uri(const std::string& value) {
  
  uri_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Dependency::_internal_mutable_uri() {
  
  return uri_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Dependency::release_uri() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Dependency.uri)
  return uri_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Dependency::set_allocated_uri(std::string* uri) {
  if (uri != nullptr) {
    
  } else {
    
  }
  uri_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), uri,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Dependency.uri)
}

// -------------------------------------------------------------------

// FuelMetadata_Compatibility

// string name = 1;
inline void FuelMetadata_Compatibility::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Compatibility::name() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Compatibility.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Compatibility::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Compatibility.name)
}
inline std::string* FuelMetadata_Compatibility::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Compatibility.name)
  return _s;
}
inline const std::string& FuelMetadata_Compatibility::_internal_name() const {
  return name_.Get();
}
inline void FuelMetadata_Compatibility::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Compatibility::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Compatibility::release_name() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Compatibility.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Compatibility::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Compatibility.name)
}

// .ignition.msgs.Version version = 2;
inline bool FuelMetadata_Compatibility::_internal_has_version() const {
  return version_type_case() == kVersion;
}
inline bool FuelMetadata_Compatibility::has_version() const {
  return _internal_has_version();
}
inline void FuelMetadata_Compatibility::set_has_version() {
  _oneof_case_[0] = kVersion;
}
inline ::ignition::msgs::Version* FuelMetadata_Compatibility::release_version() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Compatibility.version)
  if (_internal_has_version()) {
    clear_has_version_type();
      ::ignition::msgs::Version* temp = version_type_.version_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    version_type_.version_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::Version& FuelMetadata_Compatibility::_internal_version() const {
  return _internal_has_version()
      ? *version_type_.version_
      : reinterpret_cast< ::ignition::msgs::Version&>(::ignition::msgs::_Version_default_instance_);
}
inline const ::ignition::msgs::Version& FuelMetadata_Compatibility::version() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Compatibility.version)
  return _internal_version();
}
inline ::ignition::msgs::Version* FuelMetadata_Compatibility::unsafe_arena_release_version() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.FuelMetadata.Compatibility.version)
  if (_internal_has_version()) {
    clear_has_version_type();
    ::ignition::msgs::Version* temp = version_type_.version_;
    version_type_.version_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void FuelMetadata_Compatibility::unsafe_arena_set_allocated_version(::ignition::msgs::Version* version) {
  clear_version_type();
  if (version) {
    set_has_version();
    version_type_.version_ = version;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.Compatibility.version)
}
inline ::ignition::msgs::Version* FuelMetadata_Compatibility::_internal_mutable_version() {
  if (!_internal_has_version()) {
    clear_version_type();
    set_has_version();
    version_type_.version_ = CreateMaybeMessage< ::ignition::msgs::Version >(GetArenaForAllocation());
  }
  return version_type_.version_;
}
inline ::ignition::msgs::Version* FuelMetadata_Compatibility::mutable_version() {
  ::ignition::msgs::Version* _msg = _internal_mutable_version();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Compatibility.version)
  return _msg;
}

// .ignition.msgs.VersionRange version_range = 3;
inline bool FuelMetadata_Compatibility::_internal_has_version_range() const {
  return version_type_case() == kVersionRange;
}
inline bool FuelMetadata_Compatibility::has_version_range() const {
  return _internal_has_version_range();
}
inline void FuelMetadata_Compatibility::set_has_version_range() {
  _oneof_case_[0] = kVersionRange;
}
inline ::ignition::msgs::VersionRange* FuelMetadata_Compatibility::release_version_range() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Compatibility.version_range)
  if (_internal_has_version_range()) {
    clear_has_version_type();
      ::ignition::msgs::VersionRange* temp = version_type_.version_range_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    version_type_.version_range_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::VersionRange& FuelMetadata_Compatibility::_internal_version_range() const {
  return _internal_has_version_range()
      ? *version_type_.version_range_
      : reinterpret_cast< ::ignition::msgs::VersionRange&>(::ignition::msgs::_VersionRange_default_instance_);
}
inline const ::ignition::msgs::VersionRange& FuelMetadata_Compatibility::version_range() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Compatibility.version_range)
  return _internal_version_range();
}
inline ::ignition::msgs::VersionRange* FuelMetadata_Compatibility::unsafe_arena_release_version_range() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.FuelMetadata.Compatibility.version_range)
  if (_internal_has_version_range()) {
    clear_has_version_type();
    ::ignition::msgs::VersionRange* temp = version_type_.version_range_;
    version_type_.version_range_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void FuelMetadata_Compatibility::unsafe_arena_set_allocated_version_range(::ignition::msgs::VersionRange* version_range) {
  clear_version_type();
  if (version_range) {
    set_has_version_range();
    version_type_.version_range_ = version_range;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.Compatibility.version_range)
}
inline ::ignition::msgs::VersionRange* FuelMetadata_Compatibility::_internal_mutable_version_range() {
  if (!_internal_has_version_range()) {
    clear_version_type();
    set_has_version_range();
    version_type_.version_range_ = CreateMaybeMessage< ::ignition::msgs::VersionRange >(GetArenaForAllocation());
  }
  return version_type_.version_range_;
}
inline ::ignition::msgs::VersionRange* FuelMetadata_Compatibility::mutable_version_range() {
  ::ignition::msgs::VersionRange* _msg = _internal_mutable_version_range();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Compatibility.version_range)
  return _msg;
}

inline bool FuelMetadata_Compatibility::has_version_type() const {
  return version_type_case() != VERSION_TYPE_NOT_SET;
}
inline void FuelMetadata_Compatibility::clear_has_version_type() {
  _oneof_case_[0] = VERSION_TYPE_NOT_SET;
}
inline FuelMetadata_Compatibility::VersionTypeCase FuelMetadata_Compatibility::version_type_case() const {
  return FuelMetadata_Compatibility::VersionTypeCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// FuelMetadata_Categories

// string first = 1;
inline void FuelMetadata_Categories::clear_first() {
  first_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Categories::first() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Categories.first)
  return _internal_first();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Categories::set_first(ArgT0&& arg0, ArgT... args) {
 
 first_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Categories.first)
}
inline std::string* FuelMetadata_Categories::mutable_first() {
  std::string* _s = _internal_mutable_first();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Categories.first)
  return _s;
}
inline const std::string& FuelMetadata_Categories::_internal_first() const {
  return first_.Get();
}
inline void FuelMetadata_Categories::_internal_set_first(const std::string& value) {
  
  first_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Categories::_internal_mutable_first() {
  
  return first_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Categories::release_first() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Categories.first)
  return first_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Categories::set_allocated_first(std::string* first) {
  if (first != nullptr) {
    
  } else {
    
  }
  first_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), first,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Categories.first)
}

// string second = 2;
inline void FuelMetadata_Categories::clear_second() {
  second_.ClearToEmpty();
}
inline const std::string& FuelMetadata_Categories::second() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.Categories.second)
  return _internal_second();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata_Categories::set_second(ArgT0&& arg0, ArgT... args) {
 
 second_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.Categories.second)
}
inline std::string* FuelMetadata_Categories::mutable_second() {
  std::string* _s = _internal_mutable_second();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.Categories.second)
  return _s;
}
inline const std::string& FuelMetadata_Categories::_internal_second() const {
  return second_.Get();
}
inline void FuelMetadata_Categories::_internal_set_second(const std::string& value) {
  
  second_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Categories::_internal_mutable_second() {
  
  return second_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata_Categories::release_second() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.Categories.second)
  return second_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata_Categories::set_allocated_second(std::string* second) {
  if (second != nullptr) {
    
  } else {
    
  }
  second_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), second,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.Categories.second)
}

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// FuelMetadata

// .ignition.msgs.FuelMetadata.Model model = 1;
inline bool FuelMetadata::_internal_has_model() const {
  return resource_type_case() == kModel;
}
inline bool FuelMetadata::has_model() const {
  return _internal_has_model();
}
inline void FuelMetadata::set_has_model() {
  _oneof_case_[0] = kModel;
}
inline void FuelMetadata::clear_model() {
  if (_internal_has_model()) {
    if (GetArenaForAllocation() == nullptr) {
      delete resource_type_.model_;
    }
    clear_has_resource_type();
  }
}
inline ::ignition::msgs::FuelMetadata_Model* FuelMetadata::release_model() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.model)
  if (_internal_has_model()) {
    clear_has_resource_type();
      ::ignition::msgs::FuelMetadata_Model* temp = resource_type_.model_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    resource_type_.model_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::FuelMetadata_Model& FuelMetadata::_internal_model() const {
  return _internal_has_model()
      ? *resource_type_.model_
      : reinterpret_cast< ::ignition::msgs::FuelMetadata_Model&>(::ignition::msgs::_FuelMetadata_Model_default_instance_);
}
inline const ::ignition::msgs::FuelMetadata_Model& FuelMetadata::model() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.model)
  return _internal_model();
}
inline ::ignition::msgs::FuelMetadata_Model* FuelMetadata::unsafe_arena_release_model() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.FuelMetadata.model)
  if (_internal_has_model()) {
    clear_has_resource_type();
    ::ignition::msgs::FuelMetadata_Model* temp = resource_type_.model_;
    resource_type_.model_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void FuelMetadata::unsafe_arena_set_allocated_model(::ignition::msgs::FuelMetadata_Model* model) {
  clear_resource_type();
  if (model) {
    set_has_model();
    resource_type_.model_ = model;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.model)
}
inline ::ignition::msgs::FuelMetadata_Model* FuelMetadata::_internal_mutable_model() {
  if (!_internal_has_model()) {
    clear_resource_type();
    set_has_model();
    resource_type_.model_ = CreateMaybeMessage< ::ignition::msgs::FuelMetadata_Model >(GetArenaForAllocation());
  }
  return resource_type_.model_;
}
inline ::ignition::msgs::FuelMetadata_Model* FuelMetadata::mutable_model() {
  ::ignition::msgs::FuelMetadata_Model* _msg = _internal_mutable_model();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.model)
  return _msg;
}

// .ignition.msgs.FuelMetadata.World world = 2;
inline bool FuelMetadata::_internal_has_world() const {
  return resource_type_case() == kWorld;
}
inline bool FuelMetadata::has_world() const {
  return _internal_has_world();
}
inline void FuelMetadata::set_has_world() {
  _oneof_case_[0] = kWorld;
}
inline void FuelMetadata::clear_world() {
  if (_internal_has_world()) {
    if (GetArenaForAllocation() == nullptr) {
      delete resource_type_.world_;
    }
    clear_has_resource_type();
  }
}
inline ::ignition::msgs::FuelMetadata_World* FuelMetadata::release_world() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.world)
  if (_internal_has_world()) {
    clear_has_resource_type();
      ::ignition::msgs::FuelMetadata_World* temp = resource_type_.world_;
    if (GetArenaForAllocation() != nullptr) {
      temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
    }
    resource_type_.world_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::ignition::msgs::FuelMetadata_World& FuelMetadata::_internal_world() const {
  return _internal_has_world()
      ? *resource_type_.world_
      : reinterpret_cast< ::ignition::msgs::FuelMetadata_World&>(::ignition::msgs::_FuelMetadata_World_default_instance_);
}
inline const ::ignition::msgs::FuelMetadata_World& FuelMetadata::world() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.world)
  return _internal_world();
}
inline ::ignition::msgs::FuelMetadata_World* FuelMetadata::unsafe_arena_release_world() {
  // @@protoc_insertion_point(field_unsafe_arena_release:ignition.msgs.FuelMetadata.world)
  if (_internal_has_world()) {
    clear_has_resource_type();
    ::ignition::msgs::FuelMetadata_World* temp = resource_type_.world_;
    resource_type_.world_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline void FuelMetadata::unsafe_arena_set_allocated_world(::ignition::msgs::FuelMetadata_World* world) {
  clear_resource_type();
  if (world) {
    set_has_world();
    resource_type_.world_ = world;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.world)
}
inline ::ignition::msgs::FuelMetadata_World* FuelMetadata::_internal_mutable_world() {
  if (!_internal_has_world()) {
    clear_resource_type();
    set_has_world();
    resource_type_.world_ = CreateMaybeMessage< ::ignition::msgs::FuelMetadata_World >(GetArenaForAllocation());
  }
  return resource_type_.world_;
}
inline ::ignition::msgs::FuelMetadata_World* FuelMetadata::mutable_world() {
  ::ignition::msgs::FuelMetadata_World* _msg = _internal_mutable_world();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.world)
  return _msg;
}

// string name = 3;
inline void FuelMetadata::clear_name() {
  name_.ClearToEmpty();
}
inline const std::string& FuelMetadata::name() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.name)
  return _internal_name();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata::set_name(ArgT0&& arg0, ArgT... args) {
 
 name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.name)
}
inline std::string* FuelMetadata::mutable_name() {
  std::string* _s = _internal_mutable_name();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.name)
  return _s;
}
inline const std::string& FuelMetadata::_internal_name() const {
  return name_.Get();
}
inline void FuelMetadata::_internal_set_name(const std::string& value) {
  
  name_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata::_internal_mutable_name() {
  
  return name_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata::release_name() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.name)
  return name_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.name)
}

// string description = 4;
inline void FuelMetadata::clear_description() {
  description_.ClearToEmpty();
}
inline const std::string& FuelMetadata::description() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.description)
  return _internal_description();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void FuelMetadata::set_description(ArgT0&& arg0, ArgT... args) {
 
 description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.description)
}
inline std::string* FuelMetadata::mutable_description() {
  std::string* _s = _internal_mutable_description();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.description)
  return _s;
}
inline const std::string& FuelMetadata::_internal_description() const {
  return description_.Get();
}
inline void FuelMetadata::_internal_set_description(const std::string& value) {
  
  description_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* FuelMetadata::_internal_mutable_description() {
  
  return description_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* FuelMetadata::release_description() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.description)
  return description_.Release(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
}
inline void FuelMetadata::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description,
      GetArenaForAllocation());
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.description)
}

// int32 version = 5;
inline void FuelMetadata::clear_version() {
  version_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 FuelMetadata::_internal_version() const {
  return version_;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 FuelMetadata::version() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.version)
  return _internal_version();
}
inline void FuelMetadata::_internal_set_version(::PROTOBUF_NAMESPACE_ID::int32 value) {
  
  version_ = value;
}
inline void FuelMetadata::set_version(::PROTOBUF_NAMESPACE_ID::int32 value) {
  _internal_set_version(value);
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.version)
}

// repeated .ignition.msgs.FuelMetadata.Contact authors = 6;
inline int FuelMetadata::_internal_authors_size() const {
  return authors_.size();
}
inline int FuelMetadata::authors_size() const {
  return _internal_authors_size();
}
inline void FuelMetadata::clear_authors() {
  authors_.Clear();
}
inline ::ignition::msgs::FuelMetadata_Contact* FuelMetadata::mutable_authors(int index) {
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.authors)
  return authors_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Contact >*
FuelMetadata::mutable_authors() {
  // @@protoc_insertion_point(field_mutable_list:ignition.msgs.FuelMetadata.authors)
  return &authors_;
}
inline const ::ignition::msgs::FuelMetadata_Contact& FuelMetadata::_internal_authors(int index) const {
  return authors_.Get(index);
}
inline const ::ignition::msgs::FuelMetadata_Contact& FuelMetadata::authors(int index) const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.authors)
  return _internal_authors(index);
}
inline ::ignition::msgs::FuelMetadata_Contact* FuelMetadata::_internal_add_authors() {
  return authors_.Add();
}
inline ::ignition::msgs::FuelMetadata_Contact* FuelMetadata::add_authors() {
  ::ignition::msgs::FuelMetadata_Contact* _add = _internal_add_authors();
  // @@protoc_insertion_point(field_add:ignition.msgs.FuelMetadata.authors)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Contact >&
FuelMetadata::authors() const {
  // @@protoc_insertion_point(field_list:ignition.msgs.FuelMetadata.authors)
  return authors_;
}

// .ignition.msgs.FuelMetadata.Legal legal = 7;
inline bool FuelMetadata::_internal_has_legal() const {
  return this != internal_default_instance() && legal_ != nullptr;
}
inline bool FuelMetadata::has_legal() const {
  return _internal_has_legal();
}
inline void FuelMetadata::clear_legal() {
  if (GetArenaForAllocation() == nullptr && legal_ != nullptr) {
    delete legal_;
  }
  legal_ = nullptr;
}
inline const ::ignition::msgs::FuelMetadata_Legal& FuelMetadata::_internal_legal() const {
  const ::ignition::msgs::FuelMetadata_Legal* p = legal_;
  return p != nullptr ? *p : reinterpret_cast<const ::ignition::msgs::FuelMetadata_Legal&>(
      ::ignition::msgs::_FuelMetadata_Legal_default_instance_);
}
inline const ::ignition::msgs::FuelMetadata_Legal& FuelMetadata::legal() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.legal)
  return _internal_legal();
}
inline void FuelMetadata::unsafe_arena_set_allocated_legal(
    ::ignition::msgs::FuelMetadata_Legal* legal) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(legal_);
  }
  legal_ = legal;
  if (legal) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.legal)
}
inline ::ignition::msgs::FuelMetadata_Legal* FuelMetadata::release_legal() {
  
  ::ignition::msgs::FuelMetadata_Legal* temp = legal_;
  legal_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::ignition::msgs::FuelMetadata_Legal* FuelMetadata::unsafe_arena_release_legal() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.legal)
  
  ::ignition::msgs::FuelMetadata_Legal* temp = legal_;
  legal_ = nullptr;
  return temp;
}
inline ::ignition::msgs::FuelMetadata_Legal* FuelMetadata::_internal_mutable_legal() {
  
  if (legal_ == nullptr) {
    auto* p = CreateMaybeMessage<::ignition::msgs::FuelMetadata_Legal>(GetArenaForAllocation());
    legal_ = p;
  }
  return legal_;
}
inline ::ignition::msgs::FuelMetadata_Legal* FuelMetadata::mutable_legal() {
  ::ignition::msgs::FuelMetadata_Legal* _msg = _internal_mutable_legal();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.legal)
  return _msg;
}
inline void FuelMetadata::set_allocated_legal(::ignition::msgs::FuelMetadata_Legal* legal) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete legal_;
  }
  if (legal) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::ignition::msgs::FuelMetadata_Legal>::GetOwningArena(legal);
    if (message_arena != submessage_arena) {
      legal = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, legal, submessage_arena);
    }
    
  } else {
    
  }
  legal_ = legal;
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.legal)
}

// repeated string tags = 8;
inline int FuelMetadata::_internal_tags_size() const {
  return tags_.size();
}
inline int FuelMetadata::tags_size() const {
  return _internal_tags_size();
}
inline void FuelMetadata::clear_tags() {
  tags_.Clear();
}
inline std::string* FuelMetadata::add_tags() {
  std::string* _s = _internal_add_tags();
  // @@protoc_insertion_point(field_add_mutable:ignition.msgs.FuelMetadata.tags)
  return _s;
}
inline const std::string& FuelMetadata::_internal_tags(int index) const {
  return tags_.Get(index);
}
inline const std::string& FuelMetadata::tags(int index) const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.tags)
  return _internal_tags(index);
}
inline std::string* FuelMetadata::mutable_tags(int index) {
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.tags)
  return tags_.Mutable(index);
}
inline void FuelMetadata::set_tags(int index, const std::string& value) {
  tags_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::set_tags(int index, std::string&& value) {
  tags_.Mutable(index)->assign(std::move(value));
  // @@protoc_insertion_point(field_set:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::set_tags(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  tags_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::set_tags(int index, const char* value, size_t size) {
  tags_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:ignition.msgs.FuelMetadata.tags)
}
inline std::string* FuelMetadata::_internal_add_tags() {
  return tags_.Add();
}
inline void FuelMetadata::add_tags(const std::string& value) {
  tags_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::add_tags(std::string&& value) {
  tags_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::add_tags(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  tags_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:ignition.msgs.FuelMetadata.tags)
}
inline void FuelMetadata::add_tags(const char* value, size_t size) {
  tags_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:ignition.msgs.FuelMetadata.tags)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>&
FuelMetadata::tags() const {
  // @@protoc_insertion_point(field_list:ignition.msgs.FuelMetadata.tags)
  return tags_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField<std::string>*
FuelMetadata::mutable_tags() {
  // @@protoc_insertion_point(field_mutable_list:ignition.msgs.FuelMetadata.tags)
  return &tags_;
}

// map<string, string> annotations = 9;
inline int FuelMetadata::_internal_annotations_size() const {
  return annotations_.size();
}
inline int FuelMetadata::annotations_size() const {
  return _internal_annotations_size();
}
inline void FuelMetadata::clear_annotations() {
  annotations_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
FuelMetadata::_internal_annotations() const {
  return annotations_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
FuelMetadata::annotations() const {
  // @@protoc_insertion_point(field_map:ignition.msgs.FuelMetadata.annotations)
  return _internal_annotations();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
FuelMetadata::_internal_mutable_annotations() {
  return annotations_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
FuelMetadata::mutable_annotations() {
  // @@protoc_insertion_point(field_mutable_map:ignition.msgs.FuelMetadata.annotations)
  return _internal_mutable_annotations();
}

// repeated .ignition.msgs.FuelMetadata.Dependency dependencies = 10;
inline int FuelMetadata::_internal_dependencies_size() const {
  return dependencies_.size();
}
inline int FuelMetadata::dependencies_size() const {
  return _internal_dependencies_size();
}
inline void FuelMetadata::clear_dependencies() {
  dependencies_.Clear();
}
inline ::ignition::msgs::FuelMetadata_Dependency* FuelMetadata::mutable_dependencies(int index) {
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.dependencies)
  return dependencies_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Dependency >*
FuelMetadata::mutable_dependencies() {
  // @@protoc_insertion_point(field_mutable_list:ignition.msgs.FuelMetadata.dependencies)
  return &dependencies_;
}
inline const ::ignition::msgs::FuelMetadata_Dependency& FuelMetadata::_internal_dependencies(int index) const {
  return dependencies_.Get(index);
}
inline const ::ignition::msgs::FuelMetadata_Dependency& FuelMetadata::dependencies(int index) const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.dependencies)
  return _internal_dependencies(index);
}
inline ::ignition::msgs::FuelMetadata_Dependency* FuelMetadata::_internal_add_dependencies() {
  return dependencies_.Add();
}
inline ::ignition::msgs::FuelMetadata_Dependency* FuelMetadata::add_dependencies() {
  ::ignition::msgs::FuelMetadata_Dependency* _add = _internal_add_dependencies();
  // @@protoc_insertion_point(field_add:ignition.msgs.FuelMetadata.dependencies)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Dependency >&
FuelMetadata::dependencies() const {
  // @@protoc_insertion_point(field_list:ignition.msgs.FuelMetadata.dependencies)
  return dependencies_;
}

// repeated .ignition.msgs.FuelMetadata.Compatibility compatibilities = 11;
inline int FuelMetadata::_internal_compatibilities_size() const {
  return compatibilities_.size();
}
inline int FuelMetadata::compatibilities_size() const {
  return _internal_compatibilities_size();
}
inline void FuelMetadata::clear_compatibilities() {
  compatibilities_.Clear();
}
inline ::ignition::msgs::FuelMetadata_Compatibility* FuelMetadata::mutable_compatibilities(int index) {
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.compatibilities)
  return compatibilities_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Compatibility >*
FuelMetadata::mutable_compatibilities() {
  // @@protoc_insertion_point(field_mutable_list:ignition.msgs.FuelMetadata.compatibilities)
  return &compatibilities_;
}
inline const ::ignition::msgs::FuelMetadata_Compatibility& FuelMetadata::_internal_compatibilities(int index) const {
  return compatibilities_.Get(index);
}
inline const ::ignition::msgs::FuelMetadata_Compatibility& FuelMetadata::compatibilities(int index) const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.compatibilities)
  return _internal_compatibilities(index);
}
inline ::ignition::msgs::FuelMetadata_Compatibility* FuelMetadata::_internal_add_compatibilities() {
  return compatibilities_.Add();
}
inline ::ignition::msgs::FuelMetadata_Compatibility* FuelMetadata::add_compatibilities() {
  ::ignition::msgs::FuelMetadata_Compatibility* _add = _internal_add_compatibilities();
  // @@protoc_insertion_point(field_add:ignition.msgs.FuelMetadata.compatibilities)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::ignition::msgs::FuelMetadata_Compatibility >&
FuelMetadata::compatibilities() const {
  // @@protoc_insertion_point(field_list:ignition.msgs.FuelMetadata.compatibilities)
  return compatibilities_;
}

// .ignition.msgs.FuelMetadata.Categories categories = 12;
inline bool FuelMetadata::_internal_has_categories() const {
  return this != internal_default_instance() && categories_ != nullptr;
}
inline bool FuelMetadata::has_categories() const {
  return _internal_has_categories();
}
inline void FuelMetadata::clear_categories() {
  if (GetArenaForAllocation() == nullptr && categories_ != nullptr) {
    delete categories_;
  }
  categories_ = nullptr;
}
inline const ::ignition::msgs::FuelMetadata_Categories& FuelMetadata::_internal_categories() const {
  const ::ignition::msgs::FuelMetadata_Categories* p = categories_;
  return p != nullptr ? *p : reinterpret_cast<const ::ignition::msgs::FuelMetadata_Categories&>(
      ::ignition::msgs::_FuelMetadata_Categories_default_instance_);
}
inline const ::ignition::msgs::FuelMetadata_Categories& FuelMetadata::categories() const {
  // @@protoc_insertion_point(field_get:ignition.msgs.FuelMetadata.categories)
  return _internal_categories();
}
inline void FuelMetadata::unsafe_arena_set_allocated_categories(
    ::ignition::msgs::FuelMetadata_Categories* categories) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(categories_);
  }
  categories_ = categories;
  if (categories) {
    
  } else {
    
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:ignition.msgs.FuelMetadata.categories)
}
inline ::ignition::msgs::FuelMetadata_Categories* FuelMetadata::release_categories() {
  
  ::ignition::msgs::FuelMetadata_Categories* temp = categories_;
  categories_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::ignition::msgs::FuelMetadata_Categories* FuelMetadata::unsafe_arena_release_categories() {
  // @@protoc_insertion_point(field_release:ignition.msgs.FuelMetadata.categories)
  
  ::ignition::msgs::FuelMetadata_Categories* temp = categories_;
  categories_ = nullptr;
  return temp;
}
inline ::ignition::msgs::FuelMetadata_Categories* FuelMetadata::_internal_mutable_categories() {
  
  if (categories_ == nullptr) {
    auto* p = CreateMaybeMessage<::ignition::msgs::FuelMetadata_Categories>(GetArenaForAllocation());
    categories_ = p;
  }
  return categories_;
}
inline ::ignition::msgs::FuelMetadata_Categories* FuelMetadata::mutable_categories() {
  ::ignition::msgs::FuelMetadata_Categories* _msg = _internal_mutable_categories();
  // @@protoc_insertion_point(field_mutable:ignition.msgs.FuelMetadata.categories)
  return _msg;
}
inline void FuelMetadata::set_allocated_categories(::ignition::msgs::FuelMetadata_Categories* categories) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete categories_;
  }
  if (categories) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::ignition::msgs::FuelMetadata_Categories>::GetOwningArena(categories);
    if (message_arena != submessage_arena) {
      categories = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, categories, submessage_arena);
    }
    
  } else {
    
  }
  categories_ = categories;
  // @@protoc_insertion_point(field_set_allocated:ignition.msgs.FuelMetadata.categories)
}

inline bool FuelMetadata::has_resource_type() const {
  return resource_type_case() != RESOURCE_TYPE_NOT_SET;
}
inline void FuelMetadata::clear_has_resource_type() {
  _oneof_case_[0] = RESOURCE_TYPE_NOT_SET;
}
inline FuelMetadata::ResourceTypeCase FuelMetadata::resource_type_case() const {
  return FuelMetadata::ResourceTypeCase(_oneof_case_[0]);
}
#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------

// -------------------------------------------------------------------


typedef std::unique_ptr<FuelMetadata> FuelMetadataUniquePtr;
typedef std::unique_ptr<const FuelMetadata> ConstFuelMetadataUniquePtr;
typedef std::shared_ptr<FuelMetadata> FuelMetadataSharedPtr;
typedef std::shared_ptr<const FuelMetadata> ConstFuelMetadataSharedPtr;
// @@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_2ffuel_5fmetadata_2eproto
