All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ets.phenopacket-schema.1.0.0-RC3.source-code.base.pb.h Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: base.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_base_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_base_2eproto

#include 
#include 

#include 
#if PROTOBUF_VERSION < 3008000
#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 3008000 < 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 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include   // IWYU pragma: export
#include   // IWYU pragma: export
#include   // IWYU pragma: export
#include 
#include 
#include 
#include 
#include 
#include "validate/validate.pb.h"
// @@protoc_insertion_point(includes)
#include 
#define PROTOBUF_INTERNAL_EXPORT_base_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_base_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxillaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[23]
    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[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_base_2eproto;
namespace org {
namespace phenopackets {
namespace schema {
namespace v1 {
namespace core {
class Age;
class AgeDefaultTypeInternal;
extern AgeDefaultTypeInternal _Age_default_instance_;
class AgeRange;
class AgeRangeDefaultTypeInternal;
extern AgeRangeDefaultTypeInternal _AgeRange_default_instance_;
class Biosample;
class BiosampleDefaultTypeInternal;
extern BiosampleDefaultTypeInternal _Biosample_default_instance_;
class Disease;
class DiseaseDefaultTypeInternal;
extern DiseaseDefaultTypeInternal _Disease_default_instance_;
class Evidence;
class EvidenceDefaultTypeInternal;
extern EvidenceDefaultTypeInternal _Evidence_default_instance_;
class ExternalReference;
class ExternalReferenceDefaultTypeInternal;
extern ExternalReferenceDefaultTypeInternal _ExternalReference_default_instance_;
class Gene;
class GeneDefaultTypeInternal;
extern GeneDefaultTypeInternal _Gene_default_instance_;
class HgvsAllele;
class HgvsAlleleDefaultTypeInternal;
extern HgvsAlleleDefaultTypeInternal _HgvsAllele_default_instance_;
class HtsFile;
class HtsFileDefaultTypeInternal;
extern HtsFileDefaultTypeInternal _HtsFile_default_instance_;
class HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse;
class HtsFile_IndividualToSampleIdentifiersEntry_DoNotUseDefaultTypeInternal;
extern HtsFile_IndividualToSampleIdentifiersEntry_DoNotUseDefaultTypeInternal _HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse_default_instance_;
class Individual;
class IndividualDefaultTypeInternal;
extern IndividualDefaultTypeInternal _Individual_default_instance_;
class IscnAllele;
class IscnAlleleDefaultTypeInternal;
extern IscnAlleleDefaultTypeInternal _IscnAllele_default_instance_;
class MetaData;
class MetaDataDefaultTypeInternal;
extern MetaDataDefaultTypeInternal _MetaData_default_instance_;
class OntologyClass;
class OntologyClassDefaultTypeInternal;
extern OntologyClassDefaultTypeInternal _OntologyClass_default_instance_;
class Pedigree;
class PedigreeDefaultTypeInternal;
extern PedigreeDefaultTypeInternal _Pedigree_default_instance_;
class Pedigree_Person;
class Pedigree_PersonDefaultTypeInternal;
extern Pedigree_PersonDefaultTypeInternal _Pedigree_Person_default_instance_;
class PhenotypicFeature;
class PhenotypicFeatureDefaultTypeInternal;
extern PhenotypicFeatureDefaultTypeInternal _PhenotypicFeature_default_instance_;
class Procedure;
class ProcedureDefaultTypeInternal;
extern ProcedureDefaultTypeInternal _Procedure_default_instance_;
class Resource;
class ResourceDefaultTypeInternal;
extern ResourceDefaultTypeInternal _Resource_default_instance_;
class SpdiAllele;
class SpdiAlleleDefaultTypeInternal;
extern SpdiAlleleDefaultTypeInternal _SpdiAllele_default_instance_;
class Update;
class UpdateDefaultTypeInternal;
extern UpdateDefaultTypeInternal _Update_default_instance_;
class Variant;
class VariantDefaultTypeInternal;
extern VariantDefaultTypeInternal _Variant_default_instance_;
class VcfAllele;
class VcfAlleleDefaultTypeInternal;
extern VcfAlleleDefaultTypeInternal _VcfAllele_default_instance_;
}  // namespace core
}  // namespace v1
}  // namespace schema
}  // namespace phenopackets
}  // namespace org
PROTOBUF_NAMESPACE_OPEN
template<> ::org::phenopackets::schema::v1::core::Age* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Age>(Arena*);
template<> ::org::phenopackets::schema::v1::core::AgeRange* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::AgeRange>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Biosample* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Biosample>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Disease* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Disease>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Evidence* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Evidence>(Arena*);
template<> ::org::phenopackets::schema::v1::core::ExternalReference* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::ExternalReference>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Gene* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Gene>(Arena*);
template<> ::org::phenopackets::schema::v1::core::HgvsAllele* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::HgvsAllele>(Arena*);
template<> ::org::phenopackets::schema::v1::core::HtsFile* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::HtsFile>(Arena*);
template<> ::org::phenopackets::schema::v1::core::HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Individual* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Individual>(Arena*);
template<> ::org::phenopackets::schema::v1::core::IscnAllele* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::IscnAllele>(Arena*);
template<> ::org::phenopackets::schema::v1::core::MetaData* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::MetaData>(Arena*);
template<> ::org::phenopackets::schema::v1::core::OntologyClass* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Pedigree* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Pedigree>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Pedigree_Person* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Pedigree_Person>(Arena*);
template<> ::org::phenopackets::schema::v1::core::PhenotypicFeature* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::PhenotypicFeature>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Procedure* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Procedure>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Resource* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Resource>(Arena*);
template<> ::org::phenopackets::schema::v1::core::SpdiAllele* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::SpdiAllele>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Update* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Update>(Arena*);
template<> ::org::phenopackets::schema::v1::core::Variant* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::Variant>(Arena*);
template<> ::org::phenopackets::schema::v1::core::VcfAllele* Arena::CreateMaybeMessage<::org::phenopackets::schema::v1::core::VcfAllele>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace org {
namespace phenopackets {
namespace schema {
namespace v1 {
namespace core {

enum Pedigree_Person_AffectedStatus : int {
  Pedigree_Person_AffectedStatus_MISSING = 0,
  Pedigree_Person_AffectedStatus_UNAFFECTED = 1,
  Pedigree_Person_AffectedStatus_AFFECTED = 2,
  Pedigree_Person_AffectedStatus_Pedigree_Person_AffectedStatus_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  Pedigree_Person_AffectedStatus_Pedigree_Person_AffectedStatus_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool Pedigree_Person_AffectedStatus_IsValid(int value);
constexpr Pedigree_Person_AffectedStatus Pedigree_Person_AffectedStatus_AffectedStatus_MIN = Pedigree_Person_AffectedStatus_MISSING;
constexpr Pedigree_Person_AffectedStatus Pedigree_Person_AffectedStatus_AffectedStatus_MAX = Pedigree_Person_AffectedStatus_AFFECTED;
constexpr int Pedigree_Person_AffectedStatus_AffectedStatus_ARRAYSIZE = Pedigree_Person_AffectedStatus_AffectedStatus_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Pedigree_Person_AffectedStatus_descriptor();
template
inline const std::string& Pedigree_Person_AffectedStatus_Name(T enum_t_value) {
  static_assert(::std::is_same::value ||
    ::std::is_integral::value,
    "Incorrect type passed to function Pedigree_Person_AffectedStatus_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Pedigree_Person_AffectedStatus_descriptor(), enum_t_value);
}
inline bool Pedigree_Person_AffectedStatus_Parse(
    const std::string& name, Pedigree_Person_AffectedStatus* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
    Pedigree_Person_AffectedStatus_descriptor(), name, value);
}
enum HtsFile_HtsFormat : int {
  HtsFile_HtsFormat_UNKNOWN = 0,
  HtsFile_HtsFormat_SAM = 1,
  HtsFile_HtsFormat_BAM = 2,
  HtsFile_HtsFormat_CRAM = 3,
  HtsFile_HtsFormat_VCF = 4,
  HtsFile_HtsFormat_BCF = 5,
  HtsFile_HtsFormat_GVCF = 6,
  HtsFile_HtsFormat_HtsFile_HtsFormat_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  HtsFile_HtsFormat_HtsFile_HtsFormat_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool HtsFile_HtsFormat_IsValid(int value);
constexpr HtsFile_HtsFormat HtsFile_HtsFormat_HtsFormat_MIN = HtsFile_HtsFormat_UNKNOWN;
constexpr HtsFile_HtsFormat HtsFile_HtsFormat_HtsFormat_MAX = HtsFile_HtsFormat_GVCF;
constexpr int HtsFile_HtsFormat_HtsFormat_ARRAYSIZE = HtsFile_HtsFormat_HtsFormat_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* HtsFile_HtsFormat_descriptor();
template
inline const std::string& HtsFile_HtsFormat_Name(T enum_t_value) {
  static_assert(::std::is_same::value ||
    ::std::is_integral::value,
    "Incorrect type passed to function HtsFile_HtsFormat_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    HtsFile_HtsFormat_descriptor(), enum_t_value);
}
inline bool HtsFile_HtsFormat_Parse(
    const std::string& name, HtsFile_HtsFormat* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
    HtsFile_HtsFormat_descriptor(), name, value);
}
enum Sex : int {
  UNKNOWN_SEX = 0,
  FEMALE = 1,
  MALE = 2,
  OTHER_SEX = 3,
  Sex_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  Sex_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool Sex_IsValid(int value);
constexpr Sex Sex_MIN = UNKNOWN_SEX;
constexpr Sex Sex_MAX = OTHER_SEX;
constexpr int Sex_ARRAYSIZE = Sex_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* Sex_descriptor();
template
inline const std::string& Sex_Name(T enum_t_value) {
  static_assert(::std::is_same::value ||
    ::std::is_integral::value,
    "Incorrect type passed to function Sex_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    Sex_descriptor(), enum_t_value);
}
inline bool Sex_Parse(
    const std::string& name, Sex* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
    Sex_descriptor(), name, value);
}
enum KaryotypicSex : int {
  UNKNOWN_KARYOTYPE = 0,
  XX = 1,
  XY = 2,
  XO = 3,
  XXY = 4,
  XXX = 5,
  XXYY = 6,
  XXXY = 7,
  XXXX = 8,
  XYY = 9,
  OTHER_KARYOTYPE = 10,
  KaryotypicSex_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::min(),
  KaryotypicSex_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::PROTOBUF_NAMESPACE_ID::int32>::max()
};
bool KaryotypicSex_IsValid(int value);
constexpr KaryotypicSex KaryotypicSex_MIN = UNKNOWN_KARYOTYPE;
constexpr KaryotypicSex KaryotypicSex_MAX = OTHER_KARYOTYPE;
constexpr int KaryotypicSex_ARRAYSIZE = KaryotypicSex_MAX + 1;

const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor* KaryotypicSex_descriptor();
template
inline const std::string& KaryotypicSex_Name(T enum_t_value) {
  static_assert(::std::is_same::value ||
    ::std::is_integral::value,
    "Incorrect type passed to function KaryotypicSex_Name.");
  return ::PROTOBUF_NAMESPACE_ID::internal::NameOfEnum(
    KaryotypicSex_descriptor(), enum_t_value);
}
inline bool KaryotypicSex_Parse(
    const std::string& name, KaryotypicSex* value) {
  return ::PROTOBUF_NAMESPACE_ID::internal::ParseNamedEnum(
    KaryotypicSex_descriptor(), name, value);
}
// ===================================================================

class MetaData :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.MetaData) */ {
 public:
  MetaData();
  virtual ~MetaData();

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

  inline MetaData& operator=(const MetaData& from) {
    CopyFrom(from);
    return *this;
  }
  inline MetaData& operator=(MetaData&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const MetaData& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const MetaData* internal_default_instance() {
    return reinterpret_cast(
               &_MetaData_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  void Swap(MetaData* other);
  friend void swap(MetaData& a, MetaData& b) {
    a.Swap(&b);
  }

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

  inline MetaData* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  MetaData* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const MetaData& from);
  void MergeFrom(const MetaData& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(MetaData* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.MetaData";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated .org.phenopackets.schema.v1.core.Resource resources = 4;
  int resources_size() const;
  void clear_resources();
  static const int kResourcesFieldNumber = 4;
  ::org::phenopackets::schema::v1::core::Resource* mutable_resources(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Resource >*
      mutable_resources();
  const ::org::phenopackets::schema::v1::core::Resource& resources(int index) const;
  ::org::phenopackets::schema::v1::core::Resource* add_resources();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Resource >&
      resources() const;

  // repeated .org.phenopackets.schema.v1.core.Update updates = 5;
  int updates_size() const;
  void clear_updates();
  static const int kUpdatesFieldNumber = 5;
  ::org::phenopackets::schema::v1::core::Update* mutable_updates(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Update >*
      mutable_updates();
  const ::org::phenopackets::schema::v1::core::Update& updates(int index) const;
  ::org::phenopackets::schema::v1::core::Update* add_updates();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Update >&
      updates() const;

  // repeated .org.phenopackets.schema.v1.core.ExternalReference external_references = 7;
  int external_references_size() const;
  void clear_external_references();
  static const int kExternalReferencesFieldNumber = 7;
  ::org::phenopackets::schema::v1::core::ExternalReference* mutable_external_references(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::ExternalReference >*
      mutable_external_references();
  const ::org::phenopackets::schema::v1::core::ExternalReference& external_references(int index) const;
  ::org::phenopackets::schema::v1::core::ExternalReference* add_external_references();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::ExternalReference >&
      external_references() const;

  // string created_by = 2;
  void clear_created_by();
  static const int kCreatedByFieldNumber = 2;
  const std::string& created_by() const;
  void set_created_by(const std::string& value);
  void set_created_by(std::string&& value);
  void set_created_by(const char* value);
  void set_created_by(const char* value, size_t size);
  std::string* mutable_created_by();
  std::string* release_created_by();
  void set_allocated_created_by(std::string* created_by);

  // string submitted_by = 3;
  void clear_submitted_by();
  static const int kSubmittedByFieldNumber = 3;
  const std::string& submitted_by() const;
  void set_submitted_by(const std::string& value);
  void set_submitted_by(std::string&& value);
  void set_submitted_by(const char* value);
  void set_submitted_by(const char* value, size_t size);
  std::string* mutable_submitted_by();
  std::string* release_submitted_by();
  void set_allocated_submitted_by(std::string* submitted_by);

  // string phenopacket_schema_version = 6;
  void clear_phenopacket_schema_version();
  static const int kPhenopacketSchemaVersionFieldNumber = 6;
  const std::string& phenopacket_schema_version() const;
  void set_phenopacket_schema_version(const std::string& value);
  void set_phenopacket_schema_version(std::string&& value);
  void set_phenopacket_schema_version(const char* value);
  void set_phenopacket_schema_version(const char* value, size_t size);
  std::string* mutable_phenopacket_schema_version();
  std::string* release_phenopacket_schema_version();
  void set_allocated_phenopacket_schema_version(std::string* phenopacket_schema_version);

  // .google.protobuf.Timestamp created = 1;
  bool has_created() const;
  void clear_created();
  static const int kCreatedFieldNumber = 1;
  const PROTOBUF_NAMESPACE_ID::Timestamp& created() const;
  PROTOBUF_NAMESPACE_ID::Timestamp* release_created();
  PROTOBUF_NAMESPACE_ID::Timestamp* mutable_created();
  void set_allocated_created(PROTOBUF_NAMESPACE_ID::Timestamp* created);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.MetaData)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Resource > resources_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Update > updates_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::ExternalReference > external_references_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr created_by_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr submitted_by_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr phenopacket_schema_version_;
  PROTOBUF_NAMESPACE_ID::Timestamp* created_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Update :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Update) */ {
 public:
  Update();
  virtual ~Update();

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

  inline Update& operator=(const Update& from) {
    CopyFrom(from);
    return *this;
  }
  inline Update& operator=(Update&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Update& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Update* internal_default_instance() {
    return reinterpret_cast(
               &_Update_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  void Swap(Update* other);
  friend void swap(Update& a, Update& b) {
    a.Swap(&b);
  }

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

  inline Update* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Update* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Update& from);
  void MergeFrom(const Update& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Update* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Update";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string updated_by = 2;
  void clear_updated_by();
  static const int kUpdatedByFieldNumber = 2;
  const std::string& updated_by() const;
  void set_updated_by(const std::string& value);
  void set_updated_by(std::string&& value);
  void set_updated_by(const char* value);
  void set_updated_by(const char* value, size_t size);
  std::string* mutable_updated_by();
  std::string* release_updated_by();
  void set_allocated_updated_by(std::string* updated_by);

  // string comment = 3;
  void clear_comment();
  static const int kCommentFieldNumber = 3;
  const std::string& comment() const;
  void set_comment(const std::string& value);
  void set_comment(std::string&& value);
  void set_comment(const char* value);
  void set_comment(const char* value, size_t size);
  std::string* mutable_comment();
  std::string* release_comment();
  void set_allocated_comment(std::string* comment);

  // .google.protobuf.Timestamp timestamp = 1 [(.validate.rules) = {
  bool has_timestamp() const;
  void clear_timestamp();
  static const int kTimestampFieldNumber = 1;
  const PROTOBUF_NAMESPACE_ID::Timestamp& timestamp() const;
  PROTOBUF_NAMESPACE_ID::Timestamp* release_timestamp();
  PROTOBUF_NAMESPACE_ID::Timestamp* mutable_timestamp();
  void set_allocated_timestamp(PROTOBUF_NAMESPACE_ID::Timestamp* timestamp);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Update)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr updated_by_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr comment_;
  PROTOBUF_NAMESPACE_ID::Timestamp* timestamp_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Resource :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Resource) */ {
 public:
  Resource();
  virtual ~Resource();

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

  inline Resource& operator=(const Resource& from) {
    CopyFrom(from);
    return *this;
  }
  inline Resource& operator=(Resource&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Resource& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Resource* internal_default_instance() {
    return reinterpret_cast(
               &_Resource_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    2;

  void Swap(Resource* other);
  friend void swap(Resource& a, Resource& b) {
    a.Swap(&b);
  }

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

  inline Resource* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Resource* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Resource& from);
  void MergeFrom(const Resource& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Resource* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Resource";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string name = 2;
  void clear_name();
  static const int kNameFieldNumber = 2;
  const std::string& name() const;
  void set_name(const std::string& value);
  void set_name(std::string&& value);
  void set_name(const char* value);
  void set_name(const char* value, size_t size);
  std::string* mutable_name();
  std::string* release_name();
  void set_allocated_name(std::string* name);

  // string url = 3;
  void clear_url();
  static const int kUrlFieldNumber = 3;
  const std::string& url() const;
  void set_url(const std::string& value);
  void set_url(std::string&& value);
  void set_url(const char* value);
  void set_url(const char* value, size_t size);
  std::string* mutable_url();
  std::string* release_url();
  void set_allocated_url(std::string* url);

  // string version = 4;
  void clear_version();
  static const int kVersionFieldNumber = 4;
  const std::string& version() const;
  void set_version(const std::string& value);
  void set_version(std::string&& value);
  void set_version(const char* value);
  void set_version(const char* value, size_t size);
  std::string* mutable_version();
  std::string* release_version();
  void set_allocated_version(std::string* version);

  // string namespace_prefix = 5;
  void clear_namespace_prefix();
  static const int kNamespacePrefixFieldNumber = 5;
  const std::string& namespace_prefix() const;
  void set_namespace_prefix(const std::string& value);
  void set_namespace_prefix(std::string&& value);
  void set_namespace_prefix(const char* value);
  void set_namespace_prefix(const char* value, size_t size);
  std::string* mutable_namespace_prefix();
  std::string* release_namespace_prefix();
  void set_allocated_namespace_prefix(std::string* namespace_prefix);

  // string iri_prefix = 6;
  void clear_iri_prefix();
  static const int kIriPrefixFieldNumber = 6;
  const std::string& iri_prefix() const;
  void set_iri_prefix(const std::string& value);
  void set_iri_prefix(std::string&& value);
  void set_iri_prefix(const char* value);
  void set_iri_prefix(const char* value, size_t size);
  std::string* mutable_iri_prefix();
  std::string* release_iri_prefix();
  void set_allocated_iri_prefix(std::string* iri_prefix);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Resource)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr name_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr url_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr version_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr namespace_prefix_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr iri_prefix_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class OntologyClass :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.OntologyClass) */ {
 public:
  OntologyClass();
  virtual ~OntologyClass();

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

  inline OntologyClass& operator=(const OntologyClass& from) {
    CopyFrom(from);
    return *this;
  }
  inline OntologyClass& operator=(OntologyClass&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const OntologyClass& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const OntologyClass* internal_default_instance() {
    return reinterpret_cast(
               &_OntologyClass_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  void Swap(OntologyClass* other);
  friend void swap(OntologyClass& a, OntologyClass& b) {
    a.Swap(&b);
  }

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

  inline OntologyClass* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  OntologyClass* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const OntologyClass& from);
  void MergeFrom(const OntologyClass& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(OntologyClass* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.OntologyClass";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string label = 2;
  void clear_label();
  static const int kLabelFieldNumber = 2;
  const std::string& label() const;
  void set_label(const std::string& value);
  void set_label(std::string&& value);
  void set_label(const char* value);
  void set_label(const char* value, size_t size);
  std::string* mutable_label();
  std::string* release_label();
  void set_allocated_label(std::string* label);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.OntologyClass)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class PhenotypicFeature :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.PhenotypicFeature) */ {
 public:
  PhenotypicFeature();
  virtual ~PhenotypicFeature();

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

  inline PhenotypicFeature& operator=(const PhenotypicFeature& from) {
    CopyFrom(from);
    return *this;
  }
  inline PhenotypicFeature& operator=(PhenotypicFeature&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const PhenotypicFeature& default_instance();

  enum OnsetCase {
    kAgeOfOnset = 6,
    kAgeRangeOfOnset = 7,
    kClassOfOnset = 9,
    ONSET_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const PhenotypicFeature* internal_default_instance() {
    return reinterpret_cast(
               &_PhenotypicFeature_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    4;

  void Swap(PhenotypicFeature* other);
  friend void swap(PhenotypicFeature& a, PhenotypicFeature& b) {
    a.Swap(&b);
  }

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

  inline PhenotypicFeature* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  PhenotypicFeature* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const PhenotypicFeature& from);
  void MergeFrom(const PhenotypicFeature& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(PhenotypicFeature* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.PhenotypicFeature";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated .org.phenopackets.schema.v1.core.OntologyClass modifiers = 5;
  int modifiers_size() const;
  void clear_modifiers();
  static const int kModifiersFieldNumber = 5;
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_modifiers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
      mutable_modifiers();
  const ::org::phenopackets::schema::v1::core::OntologyClass& modifiers(int index) const;
  ::org::phenopackets::schema::v1::core::OntologyClass* add_modifiers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
      modifiers() const;

  // repeated .org.phenopackets.schema.v1.core.Evidence evidence = 10;
  int evidence_size() const;
  void clear_evidence();
  static const int kEvidenceFieldNumber = 10;
  ::org::phenopackets::schema::v1::core::Evidence* mutable_evidence(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Evidence >*
      mutable_evidence();
  const ::org::phenopackets::schema::v1::core::Evidence& evidence(int index) const;
  ::org::phenopackets::schema::v1::core::Evidence* add_evidence();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Evidence >&
      evidence() const;

  // string description = 1;
  void clear_description();
  static const int kDescriptionFieldNumber = 1;
  const std::string& description() const;
  void set_description(const std::string& value);
  void set_description(std::string&& value);
  void set_description(const char* value);
  void set_description(const char* value, size_t size);
  std::string* mutable_description();
  std::string* release_description();
  void set_allocated_description(std::string* description);

  // .org.phenopackets.schema.v1.core.OntologyClass type = 2;
  bool has_type() const;
  void clear_type();
  static const int kTypeFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::OntologyClass& type() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_type();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_type();
  void set_allocated_type(::org::phenopackets::schema::v1::core::OntologyClass* type);

  // .org.phenopackets.schema.v1.core.OntologyClass severity = 4;
  bool has_severity() const;
  void clear_severity();
  static const int kSeverityFieldNumber = 4;
  const ::org::phenopackets::schema::v1::core::OntologyClass& severity() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_severity();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_severity();
  void set_allocated_severity(::org::phenopackets::schema::v1::core::OntologyClass* severity);

  // bool negated = 3;
  void clear_negated();
  static const int kNegatedFieldNumber = 3;
  bool negated() const;
  void set_negated(bool value);

  // .org.phenopackets.schema.v1.core.Age age_of_onset = 6;
  bool has_age_of_onset() const;
  void clear_age_of_onset();
  static const int kAgeOfOnsetFieldNumber = 6;
  const ::org::phenopackets::schema::v1::core::Age& age_of_onset() const;
  ::org::phenopackets::schema::v1::core::Age* release_age_of_onset();
  ::org::phenopackets::schema::v1::core::Age* mutable_age_of_onset();
  void set_allocated_age_of_onset(::org::phenopackets::schema::v1::core::Age* age_of_onset);

  // .org.phenopackets.schema.v1.core.AgeRange age_range_of_onset = 7;
  bool has_age_range_of_onset() const;
  void clear_age_range_of_onset();
  static const int kAgeRangeOfOnsetFieldNumber = 7;
  const ::org::phenopackets::schema::v1::core::AgeRange& age_range_of_onset() const;
  ::org::phenopackets::schema::v1::core::AgeRange* release_age_range_of_onset();
  ::org::phenopackets::schema::v1::core::AgeRange* mutable_age_range_of_onset();
  void set_allocated_age_range_of_onset(::org::phenopackets::schema::v1::core::AgeRange* age_range_of_onset);

  // .org.phenopackets.schema.v1.core.OntologyClass class_of_onset = 9;
  bool has_class_of_onset() const;
  void clear_class_of_onset();
  static const int kClassOfOnsetFieldNumber = 9;
  const ::org::phenopackets::schema::v1::core::OntologyClass& class_of_onset() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_class_of_onset();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_class_of_onset();
  void set_allocated_class_of_onset(::org::phenopackets::schema::v1::core::OntologyClass* class_of_onset);

  void clear_onset();
  OnsetCase onset_case() const;
  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.PhenotypicFeature)
 private:
  class HasBitSetters;
  void set_has_age_of_onset();
  void set_has_age_range_of_onset();
  void set_has_class_of_onset();

  inline bool has_onset() const;
  inline void clear_has_onset();

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass > modifiers_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Evidence > evidence_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
  ::org::phenopackets::schema::v1::core::OntologyClass* type_;
  ::org::phenopackets::schema::v1::core::OntologyClass* severity_;
  bool negated_;
  union OnsetUnion {
    OnsetUnion() {}
    ::org::phenopackets::schema::v1::core::Age* age_of_onset_;
    ::org::phenopackets::schema::v1::core::AgeRange* age_range_of_onset_;
    ::org::phenopackets::schema::v1::core::OntologyClass* class_of_onset_;
  } onset_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Evidence :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Evidence) */ {
 public:
  Evidence();
  virtual ~Evidence();

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

  inline Evidence& operator=(const Evidence& from) {
    CopyFrom(from);
    return *this;
  }
  inline Evidence& operator=(Evidence&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Evidence& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Evidence* internal_default_instance() {
    return reinterpret_cast(
               &_Evidence_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    5;

  void Swap(Evidence* other);
  friend void swap(Evidence& a, Evidence& b) {
    a.Swap(&b);
  }

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

  inline Evidence* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Evidence* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Evidence& from);
  void MergeFrom(const Evidence& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Evidence* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Evidence";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // .org.phenopackets.schema.v1.core.OntologyClass evidence_code = 1;
  bool has_evidence_code() const;
  void clear_evidence_code();
  static const int kEvidenceCodeFieldNumber = 1;
  const ::org::phenopackets::schema::v1::core::OntologyClass& evidence_code() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_evidence_code();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_evidence_code();
  void set_allocated_evidence_code(::org::phenopackets::schema::v1::core::OntologyClass* evidence_code);

  // .org.phenopackets.schema.v1.core.ExternalReference reference = 2;
  bool has_reference() const;
  void clear_reference();
  static const int kReferenceFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::ExternalReference& reference() const;
  ::org::phenopackets::schema::v1::core::ExternalReference* release_reference();
  ::org::phenopackets::schema::v1::core::ExternalReference* mutable_reference();
  void set_allocated_reference(::org::phenopackets::schema::v1::core::ExternalReference* reference);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Evidence)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::org::phenopackets::schema::v1::core::OntologyClass* evidence_code_;
  ::org::phenopackets::schema::v1::core::ExternalReference* reference_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class ExternalReference :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.ExternalReference) */ {
 public:
  ExternalReference();
  virtual ~ExternalReference();

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

  inline ExternalReference& operator=(const ExternalReference& from) {
    CopyFrom(from);
    return *this;
  }
  inline ExternalReference& operator=(ExternalReference&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const ExternalReference& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const ExternalReference* internal_default_instance() {
    return reinterpret_cast(
               &_ExternalReference_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    6;

  void Swap(ExternalReference* other);
  friend void swap(ExternalReference& a, ExternalReference& b) {
    a.Swap(&b);
  }

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

  inline ExternalReference* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  ExternalReference* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const ExternalReference& from);
  void MergeFrom(const ExternalReference& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(ExternalReference* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.ExternalReference";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string description = 2;
  void clear_description();
  static const int kDescriptionFieldNumber = 2;
  const std::string& description() const;
  void set_description(const std::string& value);
  void set_description(std::string&& value);
  void set_description(const char* value);
  void set_description(const char* value, size_t size);
  std::string* mutable_description();
  std::string* release_description();
  void set_allocated_description(std::string* description);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.ExternalReference)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Individual :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Individual) */ {
 public:
  Individual();
  virtual ~Individual();

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

  inline Individual& operator=(const Individual& from) {
    CopyFrom(from);
    return *this;
  }
  inline Individual& operator=(Individual&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Individual& default_instance();

  enum AgeCase {
    kAgeAtCollection = 4,
    kAgeRangeAtCollection = 5,
    AGE_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Individual* internal_default_instance() {
    return reinterpret_cast(
               &_Individual_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    7;

  void Swap(Individual* other);
  friend void swap(Individual& a, Individual& b) {
    a.Swap(&b);
  }

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

  inline Individual* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Individual* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Individual& from);
  void MergeFrom(const Individual& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Individual* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Individual";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated string alternate_ids = 2;
  int alternate_ids_size() const;
  void clear_alternate_ids();
  static const int kAlternateIdsFieldNumber = 2;
  const std::string& alternate_ids(int index) const;
  std::string* mutable_alternate_ids(int index);
  void set_alternate_ids(int index, const std::string& value);
  void set_alternate_ids(int index, std::string&& value);
  void set_alternate_ids(int index, const char* value);
  void set_alternate_ids(int index, const char* value, size_t size);
  std::string* add_alternate_ids();
  void add_alternate_ids(const std::string& value);
  void add_alternate_ids(std::string&& value);
  void add_alternate_ids(const char* value);
  void add_alternate_ids(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& alternate_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_alternate_ids();

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // .google.protobuf.Timestamp date_of_birth = 3;
  bool has_date_of_birth() const;
  void clear_date_of_birth();
  static const int kDateOfBirthFieldNumber = 3;
  const PROTOBUF_NAMESPACE_ID::Timestamp& date_of_birth() const;
  PROTOBUF_NAMESPACE_ID::Timestamp* release_date_of_birth();
  PROTOBUF_NAMESPACE_ID::Timestamp* mutable_date_of_birth();
  void set_allocated_date_of_birth(PROTOBUF_NAMESPACE_ID::Timestamp* date_of_birth);

  // .org.phenopackets.schema.v1.core.OntologyClass taxonomy = 8;
  bool has_taxonomy() const;
  void clear_taxonomy();
  static const int kTaxonomyFieldNumber = 8;
  const ::org::phenopackets::schema::v1::core::OntologyClass& taxonomy() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_taxonomy();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_taxonomy();
  void set_allocated_taxonomy(::org::phenopackets::schema::v1::core::OntologyClass* taxonomy);

  // .org.phenopackets.schema.v1.core.Sex sex = 6;
  void clear_sex();
  static const int kSexFieldNumber = 6;
  ::org::phenopackets::schema::v1::core::Sex sex() const;
  void set_sex(::org::phenopackets::schema::v1::core::Sex value);

  // .org.phenopackets.schema.v1.core.KaryotypicSex karyotypic_sex = 7;
  void clear_karyotypic_sex();
  static const int kKaryotypicSexFieldNumber = 7;
  ::org::phenopackets::schema::v1::core::KaryotypicSex karyotypic_sex() const;
  void set_karyotypic_sex(::org::phenopackets::schema::v1::core::KaryotypicSex value);

  // .org.phenopackets.schema.v1.core.Age age_at_collection = 4;
  bool has_age_at_collection() const;
  void clear_age_at_collection();
  static const int kAgeAtCollectionFieldNumber = 4;
  const ::org::phenopackets::schema::v1::core::Age& age_at_collection() const;
  ::org::phenopackets::schema::v1::core::Age* release_age_at_collection();
  ::org::phenopackets::schema::v1::core::Age* mutable_age_at_collection();
  void set_allocated_age_at_collection(::org::phenopackets::schema::v1::core::Age* age_at_collection);

  // .org.phenopackets.schema.v1.core.AgeRange age_range_at_collection = 5;
  bool has_age_range_at_collection() const;
  void clear_age_range_at_collection();
  static const int kAgeRangeAtCollectionFieldNumber = 5;
  const ::org::phenopackets::schema::v1::core::AgeRange& age_range_at_collection() const;
  ::org::phenopackets::schema::v1::core::AgeRange* release_age_range_at_collection();
  ::org::phenopackets::schema::v1::core::AgeRange* mutable_age_range_at_collection();
  void set_allocated_age_range_at_collection(::org::phenopackets::schema::v1::core::AgeRange* age_range_at_collection);

  void clear_age();
  AgeCase age_case() const;
  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Individual)
 private:
  class HasBitSetters;
  void set_has_age_at_collection();
  void set_has_age_range_at_collection();

  inline bool has_age() const;
  inline void clear_has_age();

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField alternate_ids_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  PROTOBUF_NAMESPACE_ID::Timestamp* date_of_birth_;
  ::org::phenopackets::schema::v1::core::OntologyClass* taxonomy_;
  int sex_;
  int karyotypic_sex_;
  union AgeUnion {
    AgeUnion() {}
    ::org::phenopackets::schema::v1::core::Age* age_at_collection_;
    ::org::phenopackets::schema::v1::core::AgeRange* age_range_at_collection_;
  } age_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Biosample :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Biosample) */ {
 public:
  Biosample();
  virtual ~Biosample();

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

  inline Biosample& operator=(const Biosample& from) {
    CopyFrom(from);
    return *this;
  }
  inline Biosample& operator=(Biosample&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Biosample& default_instance();

  enum IndividualAgeAtCollectionCase {
    kAgeOfIndividualAtCollection = 7,
    kAgeRangeOfIndividualAtCollection = 8,
    INDIVIDUAL_AGE_AT_COLLECTION_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Biosample* internal_default_instance() {
    return reinterpret_cast(
               &_Biosample_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    8;

  void Swap(Biosample* other);
  friend void swap(Biosample& a, Biosample& b) {
    a.Swap(&b);
  }

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

  inline Biosample* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Biosample* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Biosample& from);
  void MergeFrom(const Biosample& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Biosample* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Biosample";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated .org.phenopackets.schema.v1.core.PhenotypicFeature phenotypic_features = 5;
  int phenotypic_features_size() const;
  void clear_phenotypic_features();
  static const int kPhenotypicFeaturesFieldNumber = 5;
  ::org::phenopackets::schema::v1::core::PhenotypicFeature* mutable_phenotypic_features(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::PhenotypicFeature >*
      mutable_phenotypic_features();
  const ::org::phenopackets::schema::v1::core::PhenotypicFeature& phenotypic_features(int index) const;
  ::org::phenopackets::schema::v1::core::PhenotypicFeature* add_phenotypic_features();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::PhenotypicFeature >&
      phenotypic_features() const;

  // repeated .org.phenopackets.schema.v1.core.OntologyClass diagnostic_markers = 12;
  int diagnostic_markers_size() const;
  void clear_diagnostic_markers();
  static const int kDiagnosticMarkersFieldNumber = 12;
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_diagnostic_markers(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
      mutable_diagnostic_markers();
  const ::org::phenopackets::schema::v1::core::OntologyClass& diagnostic_markers(int index) const;
  ::org::phenopackets::schema::v1::core::OntologyClass* add_diagnostic_markers();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
      diagnostic_markers() const;

  // repeated .org.phenopackets.schema.v1.core.HtsFile hts_files = 14;
  int hts_files_size() const;
  void clear_hts_files();
  static const int kHtsFilesFieldNumber = 14;
  ::org::phenopackets::schema::v1::core::HtsFile* mutable_hts_files(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::HtsFile >*
      mutable_hts_files();
  const ::org::phenopackets::schema::v1::core::HtsFile& hts_files(int index) const;
  ::org::phenopackets::schema::v1::core::HtsFile* add_hts_files();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::HtsFile >&
      hts_files() const;

  // repeated .org.phenopackets.schema.v1.core.Variant variants = 15;
  int variants_size() const;
  void clear_variants();
  static const int kVariantsFieldNumber = 15;
  ::org::phenopackets::schema::v1::core::Variant* mutable_variants(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Variant >*
      mutable_variants();
  const ::org::phenopackets::schema::v1::core::Variant& variants(int index) const;
  ::org::phenopackets::schema::v1::core::Variant* add_variants();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Variant >&
      variants() const;

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string individual_id = 2;
  void clear_individual_id();
  static const int kIndividualIdFieldNumber = 2;
  const std::string& individual_id() const;
  void set_individual_id(const std::string& value);
  void set_individual_id(std::string&& value);
  void set_individual_id(const char* value);
  void set_individual_id(const char* value, size_t size);
  std::string* mutable_individual_id();
  std::string* release_individual_id();
  void set_allocated_individual_id(std::string* individual_id);

  // string description = 3;
  void clear_description();
  static const int kDescriptionFieldNumber = 3;
  const std::string& description() const;
  void set_description(const std::string& value);
  void set_description(std::string&& value);
  void set_description(const char* value);
  void set_description(const char* value, size_t size);
  std::string* mutable_description();
  std::string* release_description();
  void set_allocated_description(std::string* description);

  // .org.phenopackets.schema.v1.core.OntologyClass sampled_tissue = 4;
  bool has_sampled_tissue() const;
  void clear_sampled_tissue();
  static const int kSampledTissueFieldNumber = 4;
  const ::org::phenopackets::schema::v1::core::OntologyClass& sampled_tissue() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_sampled_tissue();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_sampled_tissue();
  void set_allocated_sampled_tissue(::org::phenopackets::schema::v1::core::OntologyClass* sampled_tissue);

  // .org.phenopackets.schema.v1.core.OntologyClass taxonomy = 6;
  bool has_taxonomy() const;
  void clear_taxonomy();
  static const int kTaxonomyFieldNumber = 6;
  const ::org::phenopackets::schema::v1::core::OntologyClass& taxonomy() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_taxonomy();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_taxonomy();
  void set_allocated_taxonomy(::org::phenopackets::schema::v1::core::OntologyClass* taxonomy);

  // .org.phenopackets.schema.v1.core.OntologyClass histological_diagnosis = 9;
  bool has_histological_diagnosis() const;
  void clear_histological_diagnosis();
  static const int kHistologicalDiagnosisFieldNumber = 9;
  const ::org::phenopackets::schema::v1::core::OntologyClass& histological_diagnosis() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_histological_diagnosis();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_histological_diagnosis();
  void set_allocated_histological_diagnosis(::org::phenopackets::schema::v1::core::OntologyClass* histological_diagnosis);

  // .org.phenopackets.schema.v1.core.OntologyClass tumor_progression = 10;
  bool has_tumor_progression() const;
  void clear_tumor_progression();
  static const int kTumorProgressionFieldNumber = 10;
  const ::org::phenopackets::schema::v1::core::OntologyClass& tumor_progression() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_tumor_progression();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_tumor_progression();
  void set_allocated_tumor_progression(::org::phenopackets::schema::v1::core::OntologyClass* tumor_progression);

  // .org.phenopackets.schema.v1.core.OntologyClass tumor_grade = 11;
  bool has_tumor_grade() const;
  void clear_tumor_grade();
  static const int kTumorGradeFieldNumber = 11;
  const ::org::phenopackets::schema::v1::core::OntologyClass& tumor_grade() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_tumor_grade();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_tumor_grade();
  void set_allocated_tumor_grade(::org::phenopackets::schema::v1::core::OntologyClass* tumor_grade);

  // .org.phenopackets.schema.v1.core.Procedure procedure = 13;
  bool has_procedure() const;
  void clear_procedure();
  static const int kProcedureFieldNumber = 13;
  const ::org::phenopackets::schema::v1::core::Procedure& procedure() const;
  ::org::phenopackets::schema::v1::core::Procedure* release_procedure();
  ::org::phenopackets::schema::v1::core::Procedure* mutable_procedure();
  void set_allocated_procedure(::org::phenopackets::schema::v1::core::Procedure* procedure);

  // bool is_control_sample = 16;
  void clear_is_control_sample();
  static const int kIsControlSampleFieldNumber = 16;
  bool is_control_sample() const;
  void set_is_control_sample(bool value);

  // .org.phenopackets.schema.v1.core.Age age_of_individual_at_collection = 7;
  bool has_age_of_individual_at_collection() const;
  void clear_age_of_individual_at_collection();
  static const int kAgeOfIndividualAtCollectionFieldNumber = 7;
  const ::org::phenopackets::schema::v1::core::Age& age_of_individual_at_collection() const;
  ::org::phenopackets::schema::v1::core::Age* release_age_of_individual_at_collection();
  ::org::phenopackets::schema::v1::core::Age* mutable_age_of_individual_at_collection();
  void set_allocated_age_of_individual_at_collection(::org::phenopackets::schema::v1::core::Age* age_of_individual_at_collection);

  // .org.phenopackets.schema.v1.core.AgeRange age_range_of_individual_at_collection = 8;
  bool has_age_range_of_individual_at_collection() const;
  void clear_age_range_of_individual_at_collection();
  static const int kAgeRangeOfIndividualAtCollectionFieldNumber = 8;
  const ::org::phenopackets::schema::v1::core::AgeRange& age_range_of_individual_at_collection() const;
  ::org::phenopackets::schema::v1::core::AgeRange* release_age_range_of_individual_at_collection();
  ::org::phenopackets::schema::v1::core::AgeRange* mutable_age_range_of_individual_at_collection();
  void set_allocated_age_range_of_individual_at_collection(::org::phenopackets::schema::v1::core::AgeRange* age_range_of_individual_at_collection);

  void clear_individual_age_at_collection();
  IndividualAgeAtCollectionCase individual_age_at_collection_case() const;
  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Biosample)
 private:
  class HasBitSetters;
  void set_has_age_of_individual_at_collection();
  void set_has_age_range_of_individual_at_collection();

  inline bool has_individual_age_at_collection() const;
  inline void clear_has_individual_age_at_collection();

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::PhenotypicFeature > phenotypic_features_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass > diagnostic_markers_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::HtsFile > hts_files_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Variant > variants_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr individual_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
  ::org::phenopackets::schema::v1::core::OntologyClass* sampled_tissue_;
  ::org::phenopackets::schema::v1::core::OntologyClass* taxonomy_;
  ::org::phenopackets::schema::v1::core::OntologyClass* histological_diagnosis_;
  ::org::phenopackets::schema::v1::core::OntologyClass* tumor_progression_;
  ::org::phenopackets::schema::v1::core::OntologyClass* tumor_grade_;
  ::org::phenopackets::schema::v1::core::Procedure* procedure_;
  bool is_control_sample_;
  union IndividualAgeAtCollectionUnion {
    IndividualAgeAtCollectionUnion() {}
    ::org::phenopackets::schema::v1::core::Age* age_of_individual_at_collection_;
    ::org::phenopackets::schema::v1::core::AgeRange* age_range_of_individual_at_collection_;
  } individual_age_at_collection_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Procedure :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Procedure) */ {
 public:
  Procedure();
  virtual ~Procedure();

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

  inline Procedure& operator=(const Procedure& from) {
    CopyFrom(from);
    return *this;
  }
  inline Procedure& operator=(Procedure&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Procedure& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Procedure* internal_default_instance() {
    return reinterpret_cast(
               &_Procedure_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    9;

  void Swap(Procedure* other);
  friend void swap(Procedure& a, Procedure& b) {
    a.Swap(&b);
  }

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

  inline Procedure* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Procedure* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Procedure& from);
  void MergeFrom(const Procedure& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Procedure* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Procedure";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // .org.phenopackets.schema.v1.core.OntologyClass code = 1;
  bool has_code() const;
  void clear_code();
  static const int kCodeFieldNumber = 1;
  const ::org::phenopackets::schema::v1::core::OntologyClass& code() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_code();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_code();
  void set_allocated_code(::org::phenopackets::schema::v1::core::OntologyClass* code);

  // .org.phenopackets.schema.v1.core.OntologyClass body_site = 2;
  bool has_body_site() const;
  void clear_body_site();
  static const int kBodySiteFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::OntologyClass& body_site() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_body_site();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_body_site();
  void set_allocated_body_site(::org::phenopackets::schema::v1::core::OntologyClass* body_site);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Procedure)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::org::phenopackets::schema::v1::core::OntologyClass* code_;
  ::org::phenopackets::schema::v1::core::OntologyClass* body_site_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Age :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Age) */ {
 public:
  Age();
  virtual ~Age();

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

  inline Age& operator=(const Age& from) {
    CopyFrom(from);
    return *this;
  }
  inline Age& operator=(Age&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Age& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Age* internal_default_instance() {
    return reinterpret_cast(
               &_Age_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    10;

  void Swap(Age* other);
  friend void swap(Age& a, Age& b) {
    a.Swap(&b);
  }

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

  inline Age* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Age* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Age& from);
  void MergeFrom(const Age& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Age* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Age";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string age = 1;
  void clear_age();
  static const int kAgeFieldNumber = 1;
  const std::string& age() const;
  void set_age(const std::string& value);
  void set_age(std::string&& value);
  void set_age(const char* value);
  void set_age(const char* value, size_t size);
  std::string* mutable_age();
  std::string* release_age();
  void set_allocated_age(std::string* age);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Age)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr age_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class AgeRange :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.AgeRange) */ {
 public:
  AgeRange();
  virtual ~AgeRange();

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

  inline AgeRange& operator=(const AgeRange& from) {
    CopyFrom(from);
    return *this;
  }
  inline AgeRange& operator=(AgeRange&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const AgeRange& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const AgeRange* internal_default_instance() {
    return reinterpret_cast(
               &_AgeRange_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    11;

  void Swap(AgeRange* other);
  friend void swap(AgeRange& a, AgeRange& b) {
    a.Swap(&b);
  }

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

  inline AgeRange* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  AgeRange* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const AgeRange& from);
  void MergeFrom(const AgeRange& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(AgeRange* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.AgeRange";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // .org.phenopackets.schema.v1.core.Age start = 1;
  bool has_start() const;
  void clear_start();
  static const int kStartFieldNumber = 1;
  const ::org::phenopackets::schema::v1::core::Age& start() const;
  ::org::phenopackets::schema::v1::core::Age* release_start();
  ::org::phenopackets::schema::v1::core::Age* mutable_start();
  void set_allocated_start(::org::phenopackets::schema::v1::core::Age* start);

  // .org.phenopackets.schema.v1.core.Age end = 2;
  bool has_end() const;
  void clear_end();
  static const int kEndFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::Age& end() const;
  ::org::phenopackets::schema::v1::core::Age* release_end();
  ::org::phenopackets::schema::v1::core::Age* mutable_end();
  void set_allocated_end(::org::phenopackets::schema::v1::core::Age* end);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.AgeRange)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::org::phenopackets::schema::v1::core::Age* start_;
  ::org::phenopackets::schema::v1::core::Age* end_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Disease :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Disease) */ {
 public:
  Disease();
  virtual ~Disease();

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

  inline Disease& operator=(const Disease& from) {
    CopyFrom(from);
    return *this;
  }
  inline Disease& operator=(Disease&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Disease& default_instance();

  enum OnsetCase {
    kAgeOfOnset = 2,
    kAgeRangeOfOnset = 3,
    kClassOfOnset = 4,
    ONSET_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Disease* internal_default_instance() {
    return reinterpret_cast(
               &_Disease_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    12;

  void Swap(Disease* other);
  friend void swap(Disease& a, Disease& b) {
    a.Swap(&b);
  }

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

  inline Disease* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Disease* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Disease& from);
  void MergeFrom(const Disease& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Disease* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Disease";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated .org.phenopackets.schema.v1.core.OntologyClass tumor_stage = 5;
  int tumor_stage_size() const;
  void clear_tumor_stage();
  static const int kTumorStageFieldNumber = 5;
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_tumor_stage(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
      mutable_tumor_stage();
  const ::org::phenopackets::schema::v1::core::OntologyClass& tumor_stage(int index) const;
  ::org::phenopackets::schema::v1::core::OntologyClass* add_tumor_stage();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
      tumor_stage() const;

  // .org.phenopackets.schema.v1.core.OntologyClass term = 1;
  bool has_term() const;
  void clear_term();
  static const int kTermFieldNumber = 1;
  const ::org::phenopackets::schema::v1::core::OntologyClass& term() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_term();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_term();
  void set_allocated_term(::org::phenopackets::schema::v1::core::OntologyClass* term);

  // .org.phenopackets.schema.v1.core.Age age_of_onset = 2;
  bool has_age_of_onset() const;
  void clear_age_of_onset();
  static const int kAgeOfOnsetFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::Age& age_of_onset() const;
  ::org::phenopackets::schema::v1::core::Age* release_age_of_onset();
  ::org::phenopackets::schema::v1::core::Age* mutable_age_of_onset();
  void set_allocated_age_of_onset(::org::phenopackets::schema::v1::core::Age* age_of_onset);

  // .org.phenopackets.schema.v1.core.AgeRange age_range_of_onset = 3;
  bool has_age_range_of_onset() const;
  void clear_age_range_of_onset();
  static const int kAgeRangeOfOnsetFieldNumber = 3;
  const ::org::phenopackets::schema::v1::core::AgeRange& age_range_of_onset() const;
  ::org::phenopackets::schema::v1::core::AgeRange* release_age_range_of_onset();
  ::org::phenopackets::schema::v1::core::AgeRange* mutable_age_range_of_onset();
  void set_allocated_age_range_of_onset(::org::phenopackets::schema::v1::core::AgeRange* age_range_of_onset);

  // .org.phenopackets.schema.v1.core.OntologyClass class_of_onset = 4;
  bool has_class_of_onset() const;
  void clear_class_of_onset();
  static const int kClassOfOnsetFieldNumber = 4;
  const ::org::phenopackets::schema::v1::core::OntologyClass& class_of_onset() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_class_of_onset();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_class_of_onset();
  void set_allocated_class_of_onset(::org::phenopackets::schema::v1::core::OntologyClass* class_of_onset);

  void clear_onset();
  OnsetCase onset_case() const;
  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Disease)
 private:
  class HasBitSetters;
  void set_has_age_of_onset();
  void set_has_age_range_of_onset();
  void set_has_class_of_onset();

  inline bool has_onset() const;
  inline void clear_has_onset();

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass > tumor_stage_;
  ::org::phenopackets::schema::v1::core::OntologyClass* term_;
  union OnsetUnion {
    OnsetUnion() {}
    ::org::phenopackets::schema::v1::core::Age* age_of_onset_;
    ::org::phenopackets::schema::v1::core::AgeRange* age_range_of_onset_;
    ::org::phenopackets::schema::v1::core::OntologyClass* class_of_onset_;
  } onset_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Pedigree_Person :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Pedigree.Person) */ {
 public:
  Pedigree_Person();
  virtual ~Pedigree_Person();

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

  inline Pedigree_Person& operator=(const Pedigree_Person& from) {
    CopyFrom(from);
    return *this;
  }
  inline Pedigree_Person& operator=(Pedigree_Person&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Pedigree_Person& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Pedigree_Person* internal_default_instance() {
    return reinterpret_cast(
               &_Pedigree_Person_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    13;

  void Swap(Pedigree_Person* other);
  friend void swap(Pedigree_Person& a, Pedigree_Person& b) {
    a.Swap(&b);
  }

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

  inline Pedigree_Person* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Pedigree_Person* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Pedigree_Person& from);
  void MergeFrom(const Pedigree_Person& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Pedigree_Person* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Pedigree.Person";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

  typedef Pedigree_Person_AffectedStatus AffectedStatus;
  static constexpr AffectedStatus MISSING =
    Pedigree_Person_AffectedStatus_MISSING;
  static constexpr AffectedStatus UNAFFECTED =
    Pedigree_Person_AffectedStatus_UNAFFECTED;
  static constexpr AffectedStatus AFFECTED =
    Pedigree_Person_AffectedStatus_AFFECTED;
  static inline bool AffectedStatus_IsValid(int value) {
    return Pedigree_Person_AffectedStatus_IsValid(value);
  }
  static constexpr AffectedStatus AffectedStatus_MIN =
    Pedigree_Person_AffectedStatus_AffectedStatus_MIN;
  static constexpr AffectedStatus AffectedStatus_MAX =
    Pedigree_Person_AffectedStatus_AffectedStatus_MAX;
  static constexpr int AffectedStatus_ARRAYSIZE =
    Pedigree_Person_AffectedStatus_AffectedStatus_ARRAYSIZE;
  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
  AffectedStatus_descriptor() {
    return Pedigree_Person_AffectedStatus_descriptor();
  }
  template
  static inline const std::string& AffectedStatus_Name(T enum_t_value) {
    static_assert(::std::is_same::value ||
      ::std::is_integral::value,
      "Incorrect type passed to function AffectedStatus_Name.");
    return Pedigree_Person_AffectedStatus_Name(enum_t_value);
  }
  static inline bool AffectedStatus_Parse(const std::string& name,
      AffectedStatus* value) {
    return Pedigree_Person_AffectedStatus_Parse(name, value);
  }

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

  // string family_id = 1;
  void clear_family_id();
  static const int kFamilyIdFieldNumber = 1;
  const std::string& family_id() const;
  void set_family_id(const std::string& value);
  void set_family_id(std::string&& value);
  void set_family_id(const char* value);
  void set_family_id(const char* value, size_t size);
  std::string* mutable_family_id();
  std::string* release_family_id();
  void set_allocated_family_id(std::string* family_id);

  // string individual_id = 2;
  void clear_individual_id();
  static const int kIndividualIdFieldNumber = 2;
  const std::string& individual_id() const;
  void set_individual_id(const std::string& value);
  void set_individual_id(std::string&& value);
  void set_individual_id(const char* value);
  void set_individual_id(const char* value, size_t size);
  std::string* mutable_individual_id();
  std::string* release_individual_id();
  void set_allocated_individual_id(std::string* individual_id);

  // string paternal_id = 3;
  void clear_paternal_id();
  static const int kPaternalIdFieldNumber = 3;
  const std::string& paternal_id() const;
  void set_paternal_id(const std::string& value);
  void set_paternal_id(std::string&& value);
  void set_paternal_id(const char* value);
  void set_paternal_id(const char* value, size_t size);
  std::string* mutable_paternal_id();
  std::string* release_paternal_id();
  void set_allocated_paternal_id(std::string* paternal_id);

  // string maternal_id = 4;
  void clear_maternal_id();
  static const int kMaternalIdFieldNumber = 4;
  const std::string& maternal_id() const;
  void set_maternal_id(const std::string& value);
  void set_maternal_id(std::string&& value);
  void set_maternal_id(const char* value);
  void set_maternal_id(const char* value, size_t size);
  std::string* mutable_maternal_id();
  std::string* release_maternal_id();
  void set_allocated_maternal_id(std::string* maternal_id);

  // .org.phenopackets.schema.v1.core.Sex sex = 5;
  void clear_sex();
  static const int kSexFieldNumber = 5;
  ::org::phenopackets::schema::v1::core::Sex sex() const;
  void set_sex(::org::phenopackets::schema::v1::core::Sex value);

  // .org.phenopackets.schema.v1.core.Pedigree.Person.AffectedStatus affected_status = 6;
  void clear_affected_status();
  static const int kAffectedStatusFieldNumber = 6;
  ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus affected_status() const;
  void set_affected_status(::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus value);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Pedigree.Person)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr family_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr individual_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr paternal_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr maternal_id_;
  int sex_;
  int affected_status_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Pedigree :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Pedigree) */ {
 public:
  Pedigree();
  virtual ~Pedigree();

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

  inline Pedigree& operator=(const Pedigree& from) {
    CopyFrom(from);
    return *this;
  }
  inline Pedigree& operator=(Pedigree&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Pedigree& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Pedigree* internal_default_instance() {
    return reinterpret_cast(
               &_Pedigree_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    14;

  void Swap(Pedigree* other);
  friend void swap(Pedigree& a, Pedigree& b) {
    a.Swap(&b);
  }

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

  inline Pedigree* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Pedigree* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Pedigree& from);
  void MergeFrom(const Pedigree& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Pedigree* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Pedigree";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

  typedef Pedigree_Person Person;

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

  // repeated .org.phenopackets.schema.v1.core.Pedigree.Person persons = 1;
  int persons_size() const;
  void clear_persons();
  static const int kPersonsFieldNumber = 1;
  ::org::phenopackets::schema::v1::core::Pedigree_Person* mutable_persons(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Pedigree_Person >*
      mutable_persons();
  const ::org::phenopackets::schema::v1::core::Pedigree_Person& persons(int index) const;
  ::org::phenopackets::schema::v1::core::Pedigree_Person* add_persons();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Pedigree_Person >&
      persons() const;

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Pedigree)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Pedigree_Person > persons_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry SuperType;
  HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse();
  HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse& other);
  static const HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse* internal_default_instance() { return reinterpret_cast(&_HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), s->size(), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "org.phenopackets.schema.v1.core.HtsFile.IndividualToSampleIdentifiersEntry.key");
 }
  static bool ValidateValue(std::string* s) {
    return ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(s->data(), s->size(), ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::PARSE, "org.phenopackets.schema.v1.core.HtsFile.IndividualToSampleIdentifiersEntry.value");
 }
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& other) final;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[15];
  }

  public:
};

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

class HtsFile :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.HtsFile) */ {
 public:
  HtsFile();
  virtual ~HtsFile();

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

  inline HtsFile& operator=(const HtsFile& from) {
    CopyFrom(from);
    return *this;
  }
  inline HtsFile& operator=(HtsFile&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const HtsFile& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const HtsFile* internal_default_instance() {
    return reinterpret_cast(
               &_HtsFile_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    16;

  void Swap(HtsFile* other);
  friend void swap(HtsFile& a, HtsFile& b) {
    a.Swap(&b);
  }

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

  inline HtsFile* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  HtsFile* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const HtsFile& from);
  void MergeFrom(const HtsFile& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(HtsFile* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.HtsFile";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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


  typedef HtsFile_HtsFormat HtsFormat;
  static constexpr HtsFormat UNKNOWN =
    HtsFile_HtsFormat_UNKNOWN;
  static constexpr HtsFormat SAM =
    HtsFile_HtsFormat_SAM;
  static constexpr HtsFormat BAM =
    HtsFile_HtsFormat_BAM;
  static constexpr HtsFormat CRAM =
    HtsFile_HtsFormat_CRAM;
  static constexpr HtsFormat VCF =
    HtsFile_HtsFormat_VCF;
  static constexpr HtsFormat BCF =
    HtsFile_HtsFormat_BCF;
  static constexpr HtsFormat GVCF =
    HtsFile_HtsFormat_GVCF;
  static inline bool HtsFormat_IsValid(int value) {
    return HtsFile_HtsFormat_IsValid(value);
  }
  static constexpr HtsFormat HtsFormat_MIN =
    HtsFile_HtsFormat_HtsFormat_MIN;
  static constexpr HtsFormat HtsFormat_MAX =
    HtsFile_HtsFormat_HtsFormat_MAX;
  static constexpr int HtsFormat_ARRAYSIZE =
    HtsFile_HtsFormat_HtsFormat_ARRAYSIZE;
  static inline const ::PROTOBUF_NAMESPACE_ID::EnumDescriptor*
  HtsFormat_descriptor() {
    return HtsFile_HtsFormat_descriptor();
  }
  template
  static inline const std::string& HtsFormat_Name(T enum_t_value) {
    static_assert(::std::is_same::value ||
      ::std::is_integral::value,
      "Incorrect type passed to function HtsFormat_Name.");
    return HtsFile_HtsFormat_Name(enum_t_value);
  }
  static inline bool HtsFormat_Parse(const std::string& name,
      HtsFormat* value) {
    return HtsFile_HtsFormat_Parse(name, value);
  }

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

  // map individual_to_sample_identifiers = 5;
  int individual_to_sample_identifiers_size() const;
  void clear_individual_to_sample_identifiers();
  static const int kIndividualToSampleIdentifiersFieldNumber = 5;
  const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
      individual_to_sample_identifiers() const;
  ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
      mutable_individual_to_sample_identifiers();

  // string uri = 1;
  void clear_uri();
  static const int kUriFieldNumber = 1;
  const std::string& uri() const;
  void set_uri(const std::string& value);
  void set_uri(std::string&& value);
  void set_uri(const char* value);
  void set_uri(const char* value, size_t size);
  std::string* mutable_uri();
  std::string* release_uri();
  void set_allocated_uri(std::string* uri);

  // string description = 2;
  void clear_description();
  static const int kDescriptionFieldNumber = 2;
  const std::string& description() const;
  void set_description(const std::string& value);
  void set_description(std::string&& value);
  void set_description(const char* value);
  void set_description(const char* value, size_t size);
  std::string* mutable_description();
  std::string* release_description();
  void set_allocated_description(std::string* description);

  // string genome_assembly = 4;
  void clear_genome_assembly();
  static const int kGenomeAssemblyFieldNumber = 4;
  const std::string& genome_assembly() const;
  void set_genome_assembly(const std::string& value);
  void set_genome_assembly(std::string&& value);
  void set_genome_assembly(const char* value);
  void set_genome_assembly(const char* value, size_t size);
  std::string* mutable_genome_assembly();
  std::string* release_genome_assembly();
  void set_allocated_genome_assembly(std::string* genome_assembly);

  // .org.phenopackets.schema.v1.core.HtsFile.HtsFormat hts_format = 3;
  void clear_hts_format();
  static const int kHtsFormatFieldNumber = 3;
  ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat hts_format() const;
  void set_hts_format(::org::phenopackets::schema::v1::core::HtsFile_HtsFormat value);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.HtsFile)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      HtsFile_IndividualToSampleIdentifiersEntry_DoNotUse,
      std::string, std::string,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_STRING,
      0 > individual_to_sample_identifiers_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr uri_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr description_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr genome_assembly_;
  int hts_format_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Gene :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Gene) */ {
 public:
  Gene();
  virtual ~Gene();

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

  inline Gene& operator=(const Gene& from) {
    CopyFrom(from);
    return *this;
  }
  inline Gene& operator=(Gene&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Gene& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Gene* internal_default_instance() {
    return reinterpret_cast(
               &_Gene_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    17;

  void Swap(Gene* other);
  friend void swap(Gene& a, Gene& b) {
    a.Swap(&b);
  }

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

  inline Gene* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Gene* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Gene& from);
  void MergeFrom(const Gene& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Gene* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Gene";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // repeated string alternate_ids = 2;
  int alternate_ids_size() const;
  void clear_alternate_ids();
  static const int kAlternateIdsFieldNumber = 2;
  const std::string& alternate_ids(int index) const;
  std::string* mutable_alternate_ids(int index);
  void set_alternate_ids(int index, const std::string& value);
  void set_alternate_ids(int index, std::string&& value);
  void set_alternate_ids(int index, const char* value);
  void set_alternate_ids(int index, const char* value, size_t size);
  std::string* add_alternate_ids();
  void add_alternate_ids(const std::string& value);
  void add_alternate_ids(std::string&& value);
  void add_alternate_ids(const char* value);
  void add_alternate_ids(const char* value, size_t size);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField& alternate_ids() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField* mutable_alternate_ids();

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string symbol = 3;
  void clear_symbol();
  static const int kSymbolFieldNumber = 3;
  const std::string& symbol() const;
  void set_symbol(const std::string& value);
  void set_symbol(std::string&& value);
  void set_symbol(const char* value);
  void set_symbol(const char* value, size_t size);
  std::string* mutable_symbol();
  std::string* release_symbol();
  void set_allocated_symbol(std::string* symbol);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Gene)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField alternate_ids_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr symbol_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class Variant :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.Variant) */ {
 public:
  Variant();
  virtual ~Variant();

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

  inline Variant& operator=(const Variant& from) {
    CopyFrom(from);
    return *this;
  }
  inline Variant& operator=(Variant&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const Variant& default_instance();

  enum AlleleCase {
    kHgvsAllele = 2,
    kVcfAllele = 3,
    kSpdiAllele = 4,
    kIscnAllele = 5,
    ALLELE_NOT_SET = 0,
  };

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const Variant* internal_default_instance() {
    return reinterpret_cast(
               &_Variant_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    18;

  void Swap(Variant* other);
  friend void swap(Variant& a, Variant& b) {
    a.Swap(&b);
  }

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

  inline Variant* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  Variant* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const Variant& from);
  void MergeFrom(const Variant& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(Variant* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.Variant";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // .org.phenopackets.schema.v1.core.OntologyClass zygosity = 6;
  bool has_zygosity() const;
  void clear_zygosity();
  static const int kZygosityFieldNumber = 6;
  const ::org::phenopackets::schema::v1::core::OntologyClass& zygosity() const;
  ::org::phenopackets::schema::v1::core::OntologyClass* release_zygosity();
  ::org::phenopackets::schema::v1::core::OntologyClass* mutable_zygosity();
  void set_allocated_zygosity(::org::phenopackets::schema::v1::core::OntologyClass* zygosity);

  // .org.phenopackets.schema.v1.core.HgvsAllele hgvs_allele = 2;
  bool has_hgvs_allele() const;
  void clear_hgvs_allele();
  static const int kHgvsAlleleFieldNumber = 2;
  const ::org::phenopackets::schema::v1::core::HgvsAllele& hgvs_allele() const;
  ::org::phenopackets::schema::v1::core::HgvsAllele* release_hgvs_allele();
  ::org::phenopackets::schema::v1::core::HgvsAllele* mutable_hgvs_allele();
  void set_allocated_hgvs_allele(::org::phenopackets::schema::v1::core::HgvsAllele* hgvs_allele);

  // .org.phenopackets.schema.v1.core.VcfAllele vcf_allele = 3;
  bool has_vcf_allele() const;
  void clear_vcf_allele();
  static const int kVcfAlleleFieldNumber = 3;
  const ::org::phenopackets::schema::v1::core::VcfAllele& vcf_allele() const;
  ::org::phenopackets::schema::v1::core::VcfAllele* release_vcf_allele();
  ::org::phenopackets::schema::v1::core::VcfAllele* mutable_vcf_allele();
  void set_allocated_vcf_allele(::org::phenopackets::schema::v1::core::VcfAllele* vcf_allele);

  // .org.phenopackets.schema.v1.core.SpdiAllele spdi_allele = 4;
  bool has_spdi_allele() const;
  void clear_spdi_allele();
  static const int kSpdiAlleleFieldNumber = 4;
  const ::org::phenopackets::schema::v1::core::SpdiAllele& spdi_allele() const;
  ::org::phenopackets::schema::v1::core::SpdiAllele* release_spdi_allele();
  ::org::phenopackets::schema::v1::core::SpdiAllele* mutable_spdi_allele();
  void set_allocated_spdi_allele(::org::phenopackets::schema::v1::core::SpdiAllele* spdi_allele);

  // .org.phenopackets.schema.v1.core.IscnAllele iscn_allele = 5;
  bool has_iscn_allele() const;
  void clear_iscn_allele();
  static const int kIscnAlleleFieldNumber = 5;
  const ::org::phenopackets::schema::v1::core::IscnAllele& iscn_allele() const;
  ::org::phenopackets::schema::v1::core::IscnAllele* release_iscn_allele();
  ::org::phenopackets::schema::v1::core::IscnAllele* mutable_iscn_allele();
  void set_allocated_iscn_allele(::org::phenopackets::schema::v1::core::IscnAllele* iscn_allele);

  void clear_allele();
  AlleleCase allele_case() const;
  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.Variant)
 private:
  class HasBitSetters;
  void set_has_hgvs_allele();
  void set_has_vcf_allele();
  void set_has_spdi_allele();
  void set_has_iscn_allele();

  inline bool has_allele() const;
  inline void clear_has_allele();

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::org::phenopackets::schema::v1::core::OntologyClass* zygosity_;
  union AlleleUnion {
    AlleleUnion() {}
    ::org::phenopackets::schema::v1::core::HgvsAllele* hgvs_allele_;
    ::org::phenopackets::schema::v1::core::VcfAllele* vcf_allele_;
    ::org::phenopackets::schema::v1::core::SpdiAllele* spdi_allele_;
    ::org::phenopackets::schema::v1::core::IscnAllele* iscn_allele_;
  } allele_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::uint32 _oneof_case_[1];

  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class HgvsAllele :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.HgvsAllele) */ {
 public:
  HgvsAllele();
  virtual ~HgvsAllele();

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

  inline HgvsAllele& operator=(const HgvsAllele& from) {
    CopyFrom(from);
    return *this;
  }
  inline HgvsAllele& operator=(HgvsAllele&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const HgvsAllele& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const HgvsAllele* internal_default_instance() {
    return reinterpret_cast(
               &_HgvsAllele_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    19;

  void Swap(HgvsAllele* other);
  friend void swap(HgvsAllele& a, HgvsAllele& b) {
    a.Swap(&b);
  }

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

  inline HgvsAllele* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  HgvsAllele* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const HgvsAllele& from);
  void MergeFrom(const HgvsAllele& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(HgvsAllele* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.HgvsAllele";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string hgvs = 2;
  void clear_hgvs();
  static const int kHgvsFieldNumber = 2;
  const std::string& hgvs() const;
  void set_hgvs(const std::string& value);
  void set_hgvs(std::string&& value);
  void set_hgvs(const char* value);
  void set_hgvs(const char* value, size_t size);
  std::string* mutable_hgvs();
  std::string* release_hgvs();
  void set_allocated_hgvs(std::string* hgvs);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.HgvsAllele)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr hgvs_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class VcfAllele :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.VcfAllele) */ {
 public:
  VcfAllele();
  virtual ~VcfAllele();

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

  inline VcfAllele& operator=(const VcfAllele& from) {
    CopyFrom(from);
    return *this;
  }
  inline VcfAllele& operator=(VcfAllele&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const VcfAllele& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const VcfAllele* internal_default_instance() {
    return reinterpret_cast(
               &_VcfAllele_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    20;

  void Swap(VcfAllele* other);
  friend void swap(VcfAllele& a, VcfAllele& b) {
    a.Swap(&b);
  }

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

  inline VcfAllele* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  VcfAllele* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const VcfAllele& from);
  void MergeFrom(const VcfAllele& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(VcfAllele* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.VcfAllele";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string vcf_version = 1;
  void clear_vcf_version();
  static const int kVcfVersionFieldNumber = 1;
  const std::string& vcf_version() const;
  void set_vcf_version(const std::string& value);
  void set_vcf_version(std::string&& value);
  void set_vcf_version(const char* value);
  void set_vcf_version(const char* value, size_t size);
  std::string* mutable_vcf_version();
  std::string* release_vcf_version();
  void set_allocated_vcf_version(std::string* vcf_version);

  // string genome_assembly = 2;
  void clear_genome_assembly();
  static const int kGenomeAssemblyFieldNumber = 2;
  const std::string& genome_assembly() const;
  void set_genome_assembly(const std::string& value);
  void set_genome_assembly(std::string&& value);
  void set_genome_assembly(const char* value);
  void set_genome_assembly(const char* value, size_t size);
  std::string* mutable_genome_assembly();
  std::string* release_genome_assembly();
  void set_allocated_genome_assembly(std::string* genome_assembly);

  // string id = 3;
  void clear_id();
  static const int kIdFieldNumber = 3;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string chr = 4;
  void clear_chr();
  static const int kChrFieldNumber = 4;
  const std::string& chr() const;
  void set_chr(const std::string& value);
  void set_chr(std::string&& value);
  void set_chr(const char* value);
  void set_chr(const char* value, size_t size);
  std::string* mutable_chr();
  std::string* release_chr();
  void set_allocated_chr(std::string* chr);

  // string ref = 6;
  void clear_ref();
  static const int kRefFieldNumber = 6;
  const std::string& ref() const;
  void set_ref(const std::string& value);
  void set_ref(std::string&& value);
  void set_ref(const char* value);
  void set_ref(const char* value, size_t size);
  std::string* mutable_ref();
  std::string* release_ref();
  void set_allocated_ref(std::string* ref);

  // string alt = 7;
  void clear_alt();
  static const int kAltFieldNumber = 7;
  const std::string& alt() const;
  void set_alt(const std::string& value);
  void set_alt(std::string&& value);
  void set_alt(const char* value);
  void set_alt(const char* value, size_t size);
  std::string* mutable_alt();
  std::string* release_alt();
  void set_allocated_alt(std::string* alt);

  // string info = 8;
  void clear_info();
  static const int kInfoFieldNumber = 8;
  const std::string& info() const;
  void set_info(const std::string& value);
  void set_info(std::string&& value);
  void set_info(const char* value);
  void set_info(const char* value, size_t size);
  std::string* mutable_info();
  std::string* release_info();
  void set_allocated_info(std::string* info);

  // int32 pos = 5;
  void clear_pos();
  static const int kPosFieldNumber = 5;
  ::PROTOBUF_NAMESPACE_ID::int32 pos() const;
  void set_pos(::PROTOBUF_NAMESPACE_ID::int32 value);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.VcfAllele)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr vcf_version_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr genome_assembly_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr chr_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr ref_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr alt_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr info_;
  ::PROTOBUF_NAMESPACE_ID::int32 pos_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class SpdiAllele :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.SpdiAllele) */ {
 public:
  SpdiAllele();
  virtual ~SpdiAllele();

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

  inline SpdiAllele& operator=(const SpdiAllele& from) {
    CopyFrom(from);
    return *this;
  }
  inline SpdiAllele& operator=(SpdiAllele&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const SpdiAllele& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const SpdiAllele* internal_default_instance() {
    return reinterpret_cast(
               &_SpdiAllele_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    21;

  void Swap(SpdiAllele* other);
  friend void swap(SpdiAllele& a, SpdiAllele& b) {
    a.Swap(&b);
  }

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

  inline SpdiAllele* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  SpdiAllele* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const SpdiAllele& from);
  void MergeFrom(const SpdiAllele& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(SpdiAllele* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.SpdiAllele";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string seq_id = 2;
  void clear_seq_id();
  static const int kSeqIdFieldNumber = 2;
  const std::string& seq_id() const;
  void set_seq_id(const std::string& value);
  void set_seq_id(std::string&& value);
  void set_seq_id(const char* value);
  void set_seq_id(const char* value, size_t size);
  std::string* mutable_seq_id();
  std::string* release_seq_id();
  void set_allocated_seq_id(std::string* seq_id);

  // string deleted_sequence = 4;
  void clear_deleted_sequence();
  static const int kDeletedSequenceFieldNumber = 4;
  const std::string& deleted_sequence() const;
  void set_deleted_sequence(const std::string& value);
  void set_deleted_sequence(std::string&& value);
  void set_deleted_sequence(const char* value);
  void set_deleted_sequence(const char* value, size_t size);
  std::string* mutable_deleted_sequence();
  std::string* release_deleted_sequence();
  void set_allocated_deleted_sequence(std::string* deleted_sequence);

  // string inserted_sequence = 5;
  void clear_inserted_sequence();
  static const int kInsertedSequenceFieldNumber = 5;
  const std::string& inserted_sequence() const;
  void set_inserted_sequence(const std::string& value);
  void set_inserted_sequence(std::string&& value);
  void set_inserted_sequence(const char* value);
  void set_inserted_sequence(const char* value, size_t size);
  std::string* mutable_inserted_sequence();
  std::string* release_inserted_sequence();
  void set_allocated_inserted_sequence(std::string* inserted_sequence);

  // int32 position = 3;
  void clear_position();
  static const int kPositionFieldNumber = 3;
  ::PROTOBUF_NAMESPACE_ID::int32 position() const;
  void set_position(::PROTOBUF_NAMESPACE_ID::int32 value);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.SpdiAllele)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr seq_id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr deleted_sequence_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr inserted_sequence_;
  ::PROTOBUF_NAMESPACE_ID::int32 position_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// -------------------------------------------------------------------

class IscnAllele :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:org.phenopackets.schema.v1.core.IscnAllele) */ {
 public:
  IscnAllele();
  virtual ~IscnAllele();

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

  inline IscnAllele& operator=(const IscnAllele& from) {
    CopyFrom(from);
    return *this;
  }
  inline IscnAllele& operator=(IscnAllele&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return GetMetadataStatic().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return GetMetadataStatic().reflection;
  }
  static const IscnAllele& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const IscnAllele* internal_default_instance() {
    return reinterpret_cast(
               &_IscnAllele_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    22;

  void Swap(IscnAllele* other);
  friend void swap(IscnAllele& a, IscnAllele& b) {
    a.Swap(&b);
  }

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

  inline IscnAllele* New() const final {
    return CreateMaybeMessage(nullptr);
  }

  IscnAllele* New(::PROTOBUF_NAMESPACE_ID::Arena* arena) const final {
    return CreateMaybeMessage(arena);
  }
  void CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) final;
  void CopyFrom(const IscnAllele& from);
  void MergeFrom(const IscnAllele& from);
  PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final;
  bool IsInitialized() const final;

  size_t ByteSizeLong() const final;
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* _InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) final;
  #else
  bool MergePartialFromCodedStream(
      ::PROTOBUF_NAMESPACE_ID::io::CodedInputStream* input) final;
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  void SerializeWithCachedSizes(
      ::PROTOBUF_NAMESPACE_ID::io::CodedOutputStream* output) const final;
  ::PROTOBUF_NAMESPACE_ID::uint8* InternalSerializeWithCachedSizesToArray(
      ::PROTOBUF_NAMESPACE_ID::uint8* target) const final;
  int GetCachedSize() const final { return _cached_size_.Get(); }

  private:
  inline void SharedCtor();
  inline void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(IscnAllele* other);
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "org.phenopackets.schema.v1.core.IscnAllele";
  }
  private:
  inline ::PROTOBUF_NAMESPACE_ID::Arena* GetArenaNoVirtual() const {
    return nullptr;
  }
  inline void* MaybeArenaPtr() const {
    return nullptr;
  }
  public:

  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
  private:
  static ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadataStatic() {
    ::PROTOBUF_NAMESPACE_ID::internal::AssignDescriptors(&::descriptor_table_base_2eproto);
    return ::descriptor_table_base_2eproto.file_level_metadata[kIndexInFileMessages];
  }

  public:

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

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

  // string id = 1;
  void clear_id();
  static const int kIdFieldNumber = 1;
  const std::string& id() const;
  void set_id(const std::string& value);
  void set_id(std::string&& value);
  void set_id(const char* value);
  void set_id(const char* value, size_t size);
  std::string* mutable_id();
  std::string* release_id();
  void set_allocated_id(std::string* id);

  // string iscn = 2;
  void clear_iscn();
  static const int kIscnFieldNumber = 2;
  const std::string& iscn() const;
  void set_iscn(const std::string& value);
  void set_iscn(std::string&& value);
  void set_iscn(const char* value);
  void set_iscn(const char* value, size_t size);
  std::string* mutable_iscn();
  std::string* release_iscn();
  void set_allocated_iscn(std::string* iscn);

  // @@protoc_insertion_point(class_scope:org.phenopackets.schema.v1.core.IscnAllele)
 private:
  class HasBitSetters;

  ::PROTOBUF_NAMESPACE_ID::internal::InternalMetadataWithArena _internal_metadata_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr id_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr iscn_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_base_2eproto;
};
// ===================================================================


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

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

// .google.protobuf.Timestamp created = 1;
inline bool MetaData::has_created() const {
  return this != internal_default_instance() && created_ != nullptr;
}
inline const PROTOBUF_NAMESPACE_ID::Timestamp& MetaData::created() const {
  const PROTOBUF_NAMESPACE_ID::Timestamp* p = created_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.created)
  return p != nullptr ? *p : *reinterpret_cast(
      &PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* MetaData::release_created() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.MetaData.created)
  
  PROTOBUF_NAMESPACE_ID::Timestamp* temp = created_;
  created_ = nullptr;
  return temp;
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* MetaData::mutable_created() {
  
  if (created_ == nullptr) {
    auto* p = CreateMaybeMessage(GetArenaNoVirtual());
    created_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.created)
  return created_;
}
inline void MetaData::set_allocated_created(PROTOBUF_NAMESPACE_ID::Timestamp* created) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(created_);
  }
  if (created) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(created)->GetArena();
    if (message_arena != submessage_arena) {
      created = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, created, submessage_arena);
    }
    
  } else {
    
  }
  created_ = created;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.MetaData.created)
}

// string created_by = 2;
inline void MetaData::clear_created_by() {
  created_by_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& MetaData::created_by() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.created_by)
  return created_by_.GetNoArena();
}
inline void MetaData::set_created_by(const std::string& value) {
  
  created_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.MetaData.created_by)
}
inline void MetaData::set_created_by(std::string&& value) {
  
  created_by_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.MetaData.created_by)
}
inline void MetaData::set_created_by(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  created_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.MetaData.created_by)
}
inline void MetaData::set_created_by(const char* value, size_t size) {
  
  created_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.MetaData.created_by)
}
inline std::string* MetaData::mutable_created_by() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.created_by)
  return created_by_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* MetaData::release_created_by() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.MetaData.created_by)
  
  return created_by_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void MetaData::set_allocated_created_by(std::string* created_by) {
  if (created_by != nullptr) {
    
  } else {
    
  }
  created_by_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), created_by);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.MetaData.created_by)
}

// string submitted_by = 3;
inline void MetaData::clear_submitted_by() {
  submitted_by_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& MetaData::submitted_by() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.submitted_by)
  return submitted_by_.GetNoArena();
}
inline void MetaData::set_submitted_by(const std::string& value) {
  
  submitted_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.MetaData.submitted_by)
}
inline void MetaData::set_submitted_by(std::string&& value) {
  
  submitted_by_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.MetaData.submitted_by)
}
inline void MetaData::set_submitted_by(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  submitted_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.MetaData.submitted_by)
}
inline void MetaData::set_submitted_by(const char* value, size_t size) {
  
  submitted_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.MetaData.submitted_by)
}
inline std::string* MetaData::mutable_submitted_by() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.submitted_by)
  return submitted_by_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* MetaData::release_submitted_by() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.MetaData.submitted_by)
  
  return submitted_by_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void MetaData::set_allocated_submitted_by(std::string* submitted_by) {
  if (submitted_by != nullptr) {
    
  } else {
    
  }
  submitted_by_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), submitted_by);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.MetaData.submitted_by)
}

// repeated .org.phenopackets.schema.v1.core.Resource resources = 4;
inline int MetaData::resources_size() const {
  return resources_.size();
}
inline void MetaData::clear_resources() {
  resources_.Clear();
}
inline ::org::phenopackets::schema::v1::core::Resource* MetaData::mutable_resources(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.resources)
  return resources_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Resource >*
MetaData::mutable_resources() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.MetaData.resources)
  return &resources_;
}
inline const ::org::phenopackets::schema::v1::core::Resource& MetaData::resources(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.resources)
  return resources_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::Resource* MetaData::add_resources() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.MetaData.resources)
  return resources_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Resource >&
MetaData::resources() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.MetaData.resources)
  return resources_;
}

// repeated .org.phenopackets.schema.v1.core.Update updates = 5;
inline int MetaData::updates_size() const {
  return updates_.size();
}
inline void MetaData::clear_updates() {
  updates_.Clear();
}
inline ::org::phenopackets::schema::v1::core::Update* MetaData::mutable_updates(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.updates)
  return updates_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Update >*
MetaData::mutable_updates() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.MetaData.updates)
  return &updates_;
}
inline const ::org::phenopackets::schema::v1::core::Update& MetaData::updates(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.updates)
  return updates_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::Update* MetaData::add_updates() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.MetaData.updates)
  return updates_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Update >&
MetaData::updates() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.MetaData.updates)
  return updates_;
}

// string phenopacket_schema_version = 6;
inline void MetaData::clear_phenopacket_schema_version() {
  phenopacket_schema_version_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& MetaData::phenopacket_schema_version() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
  return phenopacket_schema_version_.GetNoArena();
}
inline void MetaData::set_phenopacket_schema_version(const std::string& value) {
  
  phenopacket_schema_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
}
inline void MetaData::set_phenopacket_schema_version(std::string&& value) {
  
  phenopacket_schema_version_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
}
inline void MetaData::set_phenopacket_schema_version(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  phenopacket_schema_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
}
inline void MetaData::set_phenopacket_schema_version(const char* value, size_t size) {
  
  phenopacket_schema_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
}
inline std::string* MetaData::mutable_phenopacket_schema_version() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
  return phenopacket_schema_version_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* MetaData::release_phenopacket_schema_version() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
  
  return phenopacket_schema_version_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void MetaData::set_allocated_phenopacket_schema_version(std::string* phenopacket_schema_version) {
  if (phenopacket_schema_version != nullptr) {
    
  } else {
    
  }
  phenopacket_schema_version_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), phenopacket_schema_version);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.MetaData.phenopacket_schema_version)
}

// repeated .org.phenopackets.schema.v1.core.ExternalReference external_references = 7;
inline int MetaData::external_references_size() const {
  return external_references_.size();
}
inline void MetaData::clear_external_references() {
  external_references_.Clear();
}
inline ::org::phenopackets::schema::v1::core::ExternalReference* MetaData::mutable_external_references(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.MetaData.external_references)
  return external_references_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::ExternalReference >*
MetaData::mutable_external_references() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.MetaData.external_references)
  return &external_references_;
}
inline const ::org::phenopackets::schema::v1::core::ExternalReference& MetaData::external_references(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.MetaData.external_references)
  return external_references_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::ExternalReference* MetaData::add_external_references() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.MetaData.external_references)
  return external_references_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::ExternalReference >&
MetaData::external_references() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.MetaData.external_references)
  return external_references_;
}

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

// Update

// .google.protobuf.Timestamp timestamp = 1 [(.validate.rules) = {
inline bool Update::has_timestamp() const {
  return this != internal_default_instance() && timestamp_ != nullptr;
}
inline const PROTOBUF_NAMESPACE_ID::Timestamp& Update::timestamp() const {
  const PROTOBUF_NAMESPACE_ID::Timestamp* p = timestamp_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Update.timestamp)
  return p != nullptr ? *p : *reinterpret_cast(
      &PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* Update::release_timestamp() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Update.timestamp)
  
  PROTOBUF_NAMESPACE_ID::Timestamp* temp = timestamp_;
  timestamp_ = nullptr;
  return temp;
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* Update::mutable_timestamp() {
  
  if (timestamp_ == nullptr) {
    auto* p = CreateMaybeMessage(GetArenaNoVirtual());
    timestamp_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Update.timestamp)
  return timestamp_;
}
inline void Update::set_allocated_timestamp(PROTOBUF_NAMESPACE_ID::Timestamp* timestamp) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp_);
  }
  if (timestamp) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(timestamp)->GetArena();
    if (message_arena != submessage_arena) {
      timestamp = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, timestamp, submessage_arena);
    }
    
  } else {
    
  }
  timestamp_ = timestamp;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Update.timestamp)
}

// string updated_by = 2;
inline void Update::clear_updated_by() {
  updated_by_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Update::updated_by() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Update.updated_by)
  return updated_by_.GetNoArena();
}
inline void Update::set_updated_by(const std::string& value) {
  
  updated_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Update.updated_by)
}
inline void Update::set_updated_by(std::string&& value) {
  
  updated_by_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Update.updated_by)
}
inline void Update::set_updated_by(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  updated_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Update.updated_by)
}
inline void Update::set_updated_by(const char* value, size_t size) {
  
  updated_by_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Update.updated_by)
}
inline std::string* Update::mutable_updated_by() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Update.updated_by)
  return updated_by_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Update::release_updated_by() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Update.updated_by)
  
  return updated_by_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Update::set_allocated_updated_by(std::string* updated_by) {
  if (updated_by != nullptr) {
    
  } else {
    
  }
  updated_by_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), updated_by);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Update.updated_by)
}

// string comment = 3;
inline void Update::clear_comment() {
  comment_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Update::comment() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Update.comment)
  return comment_.GetNoArena();
}
inline void Update::set_comment(const std::string& value) {
  
  comment_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Update.comment)
}
inline void Update::set_comment(std::string&& value) {
  
  comment_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Update.comment)
}
inline void Update::set_comment(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  comment_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Update.comment)
}
inline void Update::set_comment(const char* value, size_t size) {
  
  comment_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Update.comment)
}
inline std::string* Update::mutable_comment() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Update.comment)
  return comment_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Update::release_comment() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Update.comment)
  
  return comment_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Update::set_allocated_comment(std::string* comment) {
  if (comment != nullptr) {
    
  } else {
    
  }
  comment_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), comment);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Update.comment)
}

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

// Resource

// string id = 1;
inline void Resource::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.id)
  return id_.GetNoArena();
}
inline void Resource::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.id)
}
inline void Resource::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.id)
}
inline void Resource::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.id)
}
inline void Resource::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.id)
}
inline std::string* Resource::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.id)
}

// string name = 2;
inline void Resource::clear_name() {
  name_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::name() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.name)
  return name_.GetNoArena();
}
inline void Resource::set_name(const std::string& value) {
  
  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.name)
}
inline void Resource::set_name(std::string&& value) {
  
  name_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.name)
}
inline void Resource::set_name(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.name)
}
inline void Resource::set_name(const char* value, size_t size) {
  
  name_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.name)
}
inline std::string* Resource::mutable_name() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.name)
  return name_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_name() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.name)
  
  return name_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_name(std::string* name) {
  if (name != nullptr) {
    
  } else {
    
  }
  name_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.name)
}

// string url = 3;
inline void Resource::clear_url() {
  url_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::url() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.url)
  return url_.GetNoArena();
}
inline void Resource::set_url(const std::string& value) {
  
  url_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.url)
}
inline void Resource::set_url(std::string&& value) {
  
  url_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.url)
}
inline void Resource::set_url(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  url_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.url)
}
inline void Resource::set_url(const char* value, size_t size) {
  
  url_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.url)
}
inline std::string* Resource::mutable_url() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.url)
  return url_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_url() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.url)
  
  return url_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_url(std::string* url) {
  if (url != nullptr) {
    
  } else {
    
  }
  url_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), url);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.url)
}

// string version = 4;
inline void Resource::clear_version() {
  version_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::version() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.version)
  return version_.GetNoArena();
}
inline void Resource::set_version(const std::string& value) {
  
  version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.version)
}
inline void Resource::set_version(std::string&& value) {
  
  version_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.version)
}
inline void Resource::set_version(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.version)
}
inline void Resource::set_version(const char* value, size_t size) {
  
  version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.version)
}
inline std::string* Resource::mutable_version() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.version)
  return version_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_version() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.version)
  
  return version_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_version(std::string* version) {
  if (version != nullptr) {
    
  } else {
    
  }
  version_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), version);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.version)
}

// string namespace_prefix = 5;
inline void Resource::clear_namespace_prefix() {
  namespace_prefix_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::namespace_prefix() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
  return namespace_prefix_.GetNoArena();
}
inline void Resource::set_namespace_prefix(const std::string& value) {
  
  namespace_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
}
inline void Resource::set_namespace_prefix(std::string&& value) {
  
  namespace_prefix_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
}
inline void Resource::set_namespace_prefix(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  namespace_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
}
inline void Resource::set_namespace_prefix(const char* value, size_t size) {
  
  namespace_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
}
inline std::string* Resource::mutable_namespace_prefix() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
  return namespace_prefix_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_namespace_prefix() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
  
  return namespace_prefix_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_namespace_prefix(std::string* namespace_prefix) {
  if (namespace_prefix != nullptr) {
    
  } else {
    
  }
  namespace_prefix_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), namespace_prefix);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.namespace_prefix)
}

// string iri_prefix = 6;
inline void Resource::clear_iri_prefix() {
  iri_prefix_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Resource::iri_prefix() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Resource.iri_prefix)
  return iri_prefix_.GetNoArena();
}
inline void Resource::set_iri_prefix(const std::string& value) {
  
  iri_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Resource.iri_prefix)
}
inline void Resource::set_iri_prefix(std::string&& value) {
  
  iri_prefix_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Resource.iri_prefix)
}
inline void Resource::set_iri_prefix(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  iri_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Resource.iri_prefix)
}
inline void Resource::set_iri_prefix(const char* value, size_t size) {
  
  iri_prefix_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Resource.iri_prefix)
}
inline std::string* Resource::mutable_iri_prefix() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Resource.iri_prefix)
  return iri_prefix_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Resource::release_iri_prefix() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Resource.iri_prefix)
  
  return iri_prefix_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Resource::set_allocated_iri_prefix(std::string* iri_prefix) {
  if (iri_prefix != nullptr) {
    
  } else {
    
  }
  iri_prefix_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), iri_prefix);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Resource.iri_prefix)
}

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

// OntologyClass

// string id = 1;
inline void OntologyClass::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& OntologyClass::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.OntologyClass.id)
  return id_.GetNoArena();
}
inline void OntologyClass::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.OntologyClass.id)
}
inline void OntologyClass::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.OntologyClass.id)
}
inline void OntologyClass::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.OntologyClass.id)
}
inline void OntologyClass::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.OntologyClass.id)
}
inline std::string* OntologyClass::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.OntologyClass.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* OntologyClass::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.OntologyClass.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void OntologyClass::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.OntologyClass.id)
}

// string label = 2;
inline void OntologyClass::clear_label() {
  label_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& OntologyClass::label() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.OntologyClass.label)
  return label_.GetNoArena();
}
inline void OntologyClass::set_label(const std::string& value) {
  
  label_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.OntologyClass.label)
}
inline void OntologyClass::set_label(std::string&& value) {
  
  label_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.OntologyClass.label)
}
inline void OntologyClass::set_label(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  label_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.OntologyClass.label)
}
inline void OntologyClass::set_label(const char* value, size_t size) {
  
  label_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.OntologyClass.label)
}
inline std::string* OntologyClass::mutable_label() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.OntologyClass.label)
  return label_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* OntologyClass::release_label() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.OntologyClass.label)
  
  return label_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void OntologyClass::set_allocated_label(std::string* label) {
  if (label != nullptr) {
    
  } else {
    
  }
  label_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), label);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.OntologyClass.label)
}

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

// PhenotypicFeature

// string description = 1;
inline void PhenotypicFeature::clear_description() {
  description_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& PhenotypicFeature::description() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
  return description_.GetNoArena();
}
inline void PhenotypicFeature::set_description(const std::string& value) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
}
inline void PhenotypicFeature::set_description(std::string&& value) {
  
  description_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
}
inline void PhenotypicFeature::set_description(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
}
inline void PhenotypicFeature::set_description(const char* value, size_t size) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
}
inline std::string* PhenotypicFeature::mutable_description() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
  return description_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* PhenotypicFeature::release_description() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
  
  return description_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void PhenotypicFeature::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.PhenotypicFeature.description)
}

// .org.phenopackets.schema.v1.core.OntologyClass type = 2;
inline bool PhenotypicFeature::has_type() const {
  return this != internal_default_instance() && type_ != nullptr;
}
inline void PhenotypicFeature::clear_type() {
  if (GetArenaNoVirtual() == nullptr && type_ != nullptr) {
    delete type_;
  }
  type_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& PhenotypicFeature::type() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = type_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.type)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::release_type() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.type)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = type_;
  type_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::mutable_type() {
  
  if (type_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    type_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.type)
  return type_;
}
inline void PhenotypicFeature::set_allocated_type(::org::phenopackets::schema::v1::core::OntologyClass* type) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete type_;
  }
  if (type) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      type = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, type, submessage_arena);
    }
    
  } else {
    
  }
  type_ = type;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.PhenotypicFeature.type)
}

// bool negated = 3;
inline void PhenotypicFeature::clear_negated() {
  negated_ = false;
}
inline bool PhenotypicFeature::negated() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.negated)
  return negated_;
}
inline void PhenotypicFeature::set_negated(bool value) {
  
  negated_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.PhenotypicFeature.negated)
}

// .org.phenopackets.schema.v1.core.OntologyClass severity = 4;
inline bool PhenotypicFeature::has_severity() const {
  return this != internal_default_instance() && severity_ != nullptr;
}
inline void PhenotypicFeature::clear_severity() {
  if (GetArenaNoVirtual() == nullptr && severity_ != nullptr) {
    delete severity_;
  }
  severity_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& PhenotypicFeature::severity() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = severity_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.severity)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::release_severity() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.severity)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = severity_;
  severity_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::mutable_severity() {
  
  if (severity_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    severity_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.severity)
  return severity_;
}
inline void PhenotypicFeature::set_allocated_severity(::org::phenopackets::schema::v1::core::OntologyClass* severity) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete severity_;
  }
  if (severity) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      severity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, severity, submessage_arena);
    }
    
  } else {
    
  }
  severity_ = severity;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.PhenotypicFeature.severity)
}

// repeated .org.phenopackets.schema.v1.core.OntologyClass modifiers = 5;
inline int PhenotypicFeature::modifiers_size() const {
  return modifiers_.size();
}
inline void PhenotypicFeature::clear_modifiers() {
  modifiers_.Clear();
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::mutable_modifiers(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.modifiers)
  return modifiers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
PhenotypicFeature::mutable_modifiers() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.PhenotypicFeature.modifiers)
  return &modifiers_;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& PhenotypicFeature::modifiers(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.modifiers)
  return modifiers_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::add_modifiers() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.PhenotypicFeature.modifiers)
  return modifiers_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
PhenotypicFeature::modifiers() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.PhenotypicFeature.modifiers)
  return modifiers_;
}

// .org.phenopackets.schema.v1.core.Age age_of_onset = 6;
inline bool PhenotypicFeature::has_age_of_onset() const {
  return onset_case() == kAgeOfOnset;
}
inline void PhenotypicFeature::set_has_age_of_onset() {
  _oneof_case_[0] = kAgeOfOnset;
}
inline void PhenotypicFeature::clear_age_of_onset() {
  if (has_age_of_onset()) {
    delete onset_.age_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::Age* PhenotypicFeature::release_age_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.age_of_onset)
  if (has_age_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::Age* temp = onset_.age_of_onset_;
    onset_.age_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::Age& PhenotypicFeature::age_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.age_of_onset)
  return has_age_of_onset()
      ? *onset_.age_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::Age*>(&::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* PhenotypicFeature::mutable_age_of_onset() {
  if (!has_age_of_onset()) {
    clear_onset();
    set_has_age_of_onset();
    onset_.age_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::Age >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.age_of_onset)
  return onset_.age_of_onset_;
}

// .org.phenopackets.schema.v1.core.AgeRange age_range_of_onset = 7;
inline bool PhenotypicFeature::has_age_range_of_onset() const {
  return onset_case() == kAgeRangeOfOnset;
}
inline void PhenotypicFeature::set_has_age_range_of_onset() {
  _oneof_case_[0] = kAgeRangeOfOnset;
}
inline void PhenotypicFeature::clear_age_range_of_onset() {
  if (has_age_range_of_onset()) {
    delete onset_.age_range_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::AgeRange* PhenotypicFeature::release_age_range_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.age_range_of_onset)
  if (has_age_range_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::AgeRange* temp = onset_.age_range_of_onset_;
    onset_.age_range_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::AgeRange& PhenotypicFeature::age_range_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.age_range_of_onset)
  return has_age_range_of_onset()
      ? *onset_.age_range_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::AgeRange*>(&::org::phenopackets::schema::v1::core::_AgeRange_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::AgeRange* PhenotypicFeature::mutable_age_range_of_onset() {
  if (!has_age_range_of_onset()) {
    clear_onset();
    set_has_age_range_of_onset();
    onset_.age_range_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::AgeRange >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.age_range_of_onset)
  return onset_.age_range_of_onset_;
}

// .org.phenopackets.schema.v1.core.OntologyClass class_of_onset = 9;
inline bool PhenotypicFeature::has_class_of_onset() const {
  return onset_case() == kClassOfOnset;
}
inline void PhenotypicFeature::set_has_class_of_onset() {
  _oneof_case_[0] = kClassOfOnset;
}
inline void PhenotypicFeature::clear_class_of_onset() {
  if (has_class_of_onset()) {
    delete onset_.class_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::release_class_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.PhenotypicFeature.class_of_onset)
  if (has_class_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::OntologyClass* temp = onset_.class_of_onset_;
    onset_.class_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& PhenotypicFeature::class_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.class_of_onset)
  return has_class_of_onset()
      ? *onset_.class_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::OntologyClass*>(&::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* PhenotypicFeature::mutable_class_of_onset() {
  if (!has_class_of_onset()) {
    clear_onset();
    set_has_class_of_onset();
    onset_.class_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::OntologyClass >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.class_of_onset)
  return onset_.class_of_onset_;
}

// repeated .org.phenopackets.schema.v1.core.Evidence evidence = 10;
inline int PhenotypicFeature::evidence_size() const {
  return evidence_.size();
}
inline void PhenotypicFeature::clear_evidence() {
  evidence_.Clear();
}
inline ::org::phenopackets::schema::v1::core::Evidence* PhenotypicFeature::mutable_evidence(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.PhenotypicFeature.evidence)
  return evidence_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Evidence >*
PhenotypicFeature::mutable_evidence() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.PhenotypicFeature.evidence)
  return &evidence_;
}
inline const ::org::phenopackets::schema::v1::core::Evidence& PhenotypicFeature::evidence(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.PhenotypicFeature.evidence)
  return evidence_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::Evidence* PhenotypicFeature::add_evidence() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.PhenotypicFeature.evidence)
  return evidence_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Evidence >&
PhenotypicFeature::evidence() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.PhenotypicFeature.evidence)
  return evidence_;
}

inline bool PhenotypicFeature::has_onset() const {
  return onset_case() != ONSET_NOT_SET;
}
inline void PhenotypicFeature::clear_has_onset() {
  _oneof_case_[0] = ONSET_NOT_SET;
}
inline PhenotypicFeature::OnsetCase PhenotypicFeature::onset_case() const {
  return PhenotypicFeature::OnsetCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// Evidence

// .org.phenopackets.schema.v1.core.OntologyClass evidence_code = 1;
inline bool Evidence::has_evidence_code() const {
  return this != internal_default_instance() && evidence_code_ != nullptr;
}
inline void Evidence::clear_evidence_code() {
  if (GetArenaNoVirtual() == nullptr && evidence_code_ != nullptr) {
    delete evidence_code_;
  }
  evidence_code_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Evidence::evidence_code() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = evidence_code_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Evidence.evidence_code)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Evidence::release_evidence_code() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Evidence.evidence_code)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = evidence_code_;
  evidence_code_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Evidence::mutable_evidence_code() {
  
  if (evidence_code_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    evidence_code_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Evidence.evidence_code)
  return evidence_code_;
}
inline void Evidence::set_allocated_evidence_code(::org::phenopackets::schema::v1::core::OntologyClass* evidence_code) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete evidence_code_;
  }
  if (evidence_code) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      evidence_code = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, evidence_code, submessage_arena);
    }
    
  } else {
    
  }
  evidence_code_ = evidence_code;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Evidence.evidence_code)
}

// .org.phenopackets.schema.v1.core.ExternalReference reference = 2;
inline bool Evidence::has_reference() const {
  return this != internal_default_instance() && reference_ != nullptr;
}
inline void Evidence::clear_reference() {
  if (GetArenaNoVirtual() == nullptr && reference_ != nullptr) {
    delete reference_;
  }
  reference_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::ExternalReference& Evidence::reference() const {
  const ::org::phenopackets::schema::v1::core::ExternalReference* p = reference_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Evidence.reference)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_ExternalReference_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::ExternalReference* Evidence::release_reference() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Evidence.reference)
  
  ::org::phenopackets::schema::v1::core::ExternalReference* temp = reference_;
  reference_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::ExternalReference* Evidence::mutable_reference() {
  
  if (reference_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::ExternalReference>(GetArenaNoVirtual());
    reference_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Evidence.reference)
  return reference_;
}
inline void Evidence::set_allocated_reference(::org::phenopackets::schema::v1::core::ExternalReference* reference) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete reference_;
  }
  if (reference) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      reference = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, reference, submessage_arena);
    }
    
  } else {
    
  }
  reference_ = reference;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Evidence.reference)
}

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

// ExternalReference

// string id = 1;
inline void ExternalReference::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& ExternalReference::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.ExternalReference.id)
  return id_.GetNoArena();
}
inline void ExternalReference::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.ExternalReference.id)
}
inline void ExternalReference::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.ExternalReference.id)
}
inline void ExternalReference::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.ExternalReference.id)
}
inline void ExternalReference::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.ExternalReference.id)
}
inline std::string* ExternalReference::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.ExternalReference.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* ExternalReference::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.ExternalReference.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void ExternalReference::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.ExternalReference.id)
}

// string description = 2;
inline void ExternalReference::clear_description() {
  description_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& ExternalReference::description() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.ExternalReference.description)
  return description_.GetNoArena();
}
inline void ExternalReference::set_description(const std::string& value) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.ExternalReference.description)
}
inline void ExternalReference::set_description(std::string&& value) {
  
  description_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.ExternalReference.description)
}
inline void ExternalReference::set_description(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.ExternalReference.description)
}
inline void ExternalReference::set_description(const char* value, size_t size) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.ExternalReference.description)
}
inline std::string* ExternalReference::mutable_description() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.ExternalReference.description)
  return description_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* ExternalReference::release_description() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.ExternalReference.description)
  
  return description_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void ExternalReference::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.ExternalReference.description)
}

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

// Individual

// string id = 1;
inline void Individual::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Individual::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.id)
  return id_.GetNoArena();
}
inline void Individual::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Individual.id)
}
inline void Individual::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Individual.id)
}
inline void Individual::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Individual.id)
}
inline void Individual::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Individual.id)
}
inline std::string* Individual::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Individual::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Individual.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Individual::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Individual.id)
}

// repeated string alternate_ids = 2;
inline int Individual::alternate_ids_size() const {
  return alternate_ids_.size();
}
inline void Individual::clear_alternate_ids() {
  alternate_ids_.Clear();
}
inline const std::string& Individual::alternate_ids(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  return alternate_ids_.Get(index);
}
inline std::string* Individual::mutable_alternate_ids(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  return alternate_ids_.Mutable(index);
}
inline void Individual::set_alternate_ids(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  alternate_ids_.Mutable(index)->assign(value);
}
inline void Individual::set_alternate_ids(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  alternate_ids_.Mutable(index)->assign(std::move(value));
}
inline void Individual::set_alternate_ids(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  alternate_ids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline void Individual::set_alternate_ids(int index, const char* value, size_t size) {
  alternate_ids_.Mutable(index)->assign(
    reinterpret_cast(value), size);
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline std::string* Individual::add_alternate_ids() {
  // @@protoc_insertion_point(field_add_mutable:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  return alternate_ids_.Add();
}
inline void Individual::add_alternate_ids(const std::string& value) {
  alternate_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline void Individual::add_alternate_ids(std::string&& value) {
  alternate_ids_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline void Individual::add_alternate_ids(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  alternate_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline void Individual::add_alternate_ids(const char* value, size_t size) {
  alternate_ids_.Add()->assign(reinterpret_cast(value), size);
  // @@protoc_insertion_point(field_add_pointer:org.phenopackets.schema.v1.core.Individual.alternate_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField&
Individual::alternate_ids() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  return alternate_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField*
Individual::mutable_alternate_ids() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Individual.alternate_ids)
  return &alternate_ids_;
}

// .google.protobuf.Timestamp date_of_birth = 3;
inline bool Individual::has_date_of_birth() const {
  return this != internal_default_instance() && date_of_birth_ != nullptr;
}
inline const PROTOBUF_NAMESPACE_ID::Timestamp& Individual::date_of_birth() const {
  const PROTOBUF_NAMESPACE_ID::Timestamp* p = date_of_birth_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.date_of_birth)
  return p != nullptr ? *p : *reinterpret_cast(
      &PROTOBUF_NAMESPACE_ID::_Timestamp_default_instance_);
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* Individual::release_date_of_birth() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Individual.date_of_birth)
  
  PROTOBUF_NAMESPACE_ID::Timestamp* temp = date_of_birth_;
  date_of_birth_ = nullptr;
  return temp;
}
inline PROTOBUF_NAMESPACE_ID::Timestamp* Individual::mutable_date_of_birth() {
  
  if (date_of_birth_ == nullptr) {
    auto* p = CreateMaybeMessage(GetArenaNoVirtual());
    date_of_birth_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.date_of_birth)
  return date_of_birth_;
}
inline void Individual::set_allocated_date_of_birth(PROTOBUF_NAMESPACE_ID::Timestamp* date_of_birth) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete reinterpret_cast< ::PROTOBUF_NAMESPACE_ID::MessageLite*>(date_of_birth_);
  }
  if (date_of_birth) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
      reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(date_of_birth)->GetArena();
    if (message_arena != submessage_arena) {
      date_of_birth = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, date_of_birth, submessage_arena);
    }
    
  } else {
    
  }
  date_of_birth_ = date_of_birth;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Individual.date_of_birth)
}

// .org.phenopackets.schema.v1.core.Age age_at_collection = 4;
inline bool Individual::has_age_at_collection() const {
  return age_case() == kAgeAtCollection;
}
inline void Individual::set_has_age_at_collection() {
  _oneof_case_[0] = kAgeAtCollection;
}
inline void Individual::clear_age_at_collection() {
  if (has_age_at_collection()) {
    delete age_.age_at_collection_;
    clear_has_age();
  }
}
inline ::org::phenopackets::schema::v1::core::Age* Individual::release_age_at_collection() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Individual.age_at_collection)
  if (has_age_at_collection()) {
    clear_has_age();
      ::org::phenopackets::schema::v1::core::Age* temp = age_.age_at_collection_;
    age_.age_at_collection_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::Age& Individual::age_at_collection() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.age_at_collection)
  return has_age_at_collection()
      ? *age_.age_at_collection_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::Age*>(&::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* Individual::mutable_age_at_collection() {
  if (!has_age_at_collection()) {
    clear_age();
    set_has_age_at_collection();
    age_.age_at_collection_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::Age >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.age_at_collection)
  return age_.age_at_collection_;
}

// .org.phenopackets.schema.v1.core.AgeRange age_range_at_collection = 5;
inline bool Individual::has_age_range_at_collection() const {
  return age_case() == kAgeRangeAtCollection;
}
inline void Individual::set_has_age_range_at_collection() {
  _oneof_case_[0] = kAgeRangeAtCollection;
}
inline void Individual::clear_age_range_at_collection() {
  if (has_age_range_at_collection()) {
    delete age_.age_range_at_collection_;
    clear_has_age();
  }
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Individual::release_age_range_at_collection() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Individual.age_range_at_collection)
  if (has_age_range_at_collection()) {
    clear_has_age();
      ::org::phenopackets::schema::v1::core::AgeRange* temp = age_.age_range_at_collection_;
    age_.age_range_at_collection_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::AgeRange& Individual::age_range_at_collection() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.age_range_at_collection)
  return has_age_range_at_collection()
      ? *age_.age_range_at_collection_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::AgeRange*>(&::org::phenopackets::schema::v1::core::_AgeRange_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Individual::mutable_age_range_at_collection() {
  if (!has_age_range_at_collection()) {
    clear_age();
    set_has_age_range_at_collection();
    age_.age_range_at_collection_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::AgeRange >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.age_range_at_collection)
  return age_.age_range_at_collection_;
}

// .org.phenopackets.schema.v1.core.Sex sex = 6;
inline void Individual::clear_sex() {
  sex_ = 0;
}
inline ::org::phenopackets::schema::v1::core::Sex Individual::sex() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.sex)
  return static_cast< ::org::phenopackets::schema::v1::core::Sex >(sex_);
}
inline void Individual::set_sex(::org::phenopackets::schema::v1::core::Sex value) {
  
  sex_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Individual.sex)
}

// .org.phenopackets.schema.v1.core.KaryotypicSex karyotypic_sex = 7;
inline void Individual::clear_karyotypic_sex() {
  karyotypic_sex_ = 0;
}
inline ::org::phenopackets::schema::v1::core::KaryotypicSex Individual::karyotypic_sex() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.karyotypic_sex)
  return static_cast< ::org::phenopackets::schema::v1::core::KaryotypicSex >(karyotypic_sex_);
}
inline void Individual::set_karyotypic_sex(::org::phenopackets::schema::v1::core::KaryotypicSex value) {
  
  karyotypic_sex_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Individual.karyotypic_sex)
}

// .org.phenopackets.schema.v1.core.OntologyClass taxonomy = 8;
inline bool Individual::has_taxonomy() const {
  return this != internal_default_instance() && taxonomy_ != nullptr;
}
inline void Individual::clear_taxonomy() {
  if (GetArenaNoVirtual() == nullptr && taxonomy_ != nullptr) {
    delete taxonomy_;
  }
  taxonomy_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Individual::taxonomy() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = taxonomy_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Individual.taxonomy)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Individual::release_taxonomy() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Individual.taxonomy)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = taxonomy_;
  taxonomy_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Individual::mutable_taxonomy() {
  
  if (taxonomy_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    taxonomy_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Individual.taxonomy)
  return taxonomy_;
}
inline void Individual::set_allocated_taxonomy(::org::phenopackets::schema::v1::core::OntologyClass* taxonomy) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete taxonomy_;
  }
  if (taxonomy) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      taxonomy = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, taxonomy, submessage_arena);
    }
    
  } else {
    
  }
  taxonomy_ = taxonomy;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Individual.taxonomy)
}

inline bool Individual::has_age() const {
  return age_case() != AGE_NOT_SET;
}
inline void Individual::clear_has_age() {
  _oneof_case_[0] = AGE_NOT_SET;
}
inline Individual::AgeCase Individual::age_case() const {
  return Individual::AgeCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// Biosample

// string id = 1;
inline void Biosample::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Biosample::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.id)
  return id_.GetNoArena();
}
inline void Biosample::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Biosample.id)
}
inline void Biosample::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Biosample.id)
}
inline void Biosample::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Biosample.id)
}
inline void Biosample::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Biosample.id)
}
inline std::string* Biosample::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Biosample::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Biosample::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.id)
}

// string individual_id = 2;
inline void Biosample::clear_individual_id() {
  individual_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Biosample::individual_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.individual_id)
  return individual_id_.GetNoArena();
}
inline void Biosample::set_individual_id(const std::string& value) {
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Biosample.individual_id)
}
inline void Biosample::set_individual_id(std::string&& value) {
  
  individual_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Biosample.individual_id)
}
inline void Biosample::set_individual_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Biosample.individual_id)
}
inline void Biosample::set_individual_id(const char* value, size_t size) {
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Biosample.individual_id)
}
inline std::string* Biosample::mutable_individual_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.individual_id)
  return individual_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Biosample::release_individual_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.individual_id)
  
  return individual_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Biosample::set_allocated_individual_id(std::string* individual_id) {
  if (individual_id != nullptr) {
    
  } else {
    
  }
  individual_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), individual_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.individual_id)
}

// string description = 3;
inline void Biosample::clear_description() {
  description_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Biosample::description() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.description)
  return description_.GetNoArena();
}
inline void Biosample::set_description(const std::string& value) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Biosample.description)
}
inline void Biosample::set_description(std::string&& value) {
  
  description_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Biosample.description)
}
inline void Biosample::set_description(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Biosample.description)
}
inline void Biosample::set_description(const char* value, size_t size) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Biosample.description)
}
inline std::string* Biosample::mutable_description() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.description)
  return description_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Biosample::release_description() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.description)
  
  return description_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Biosample::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.description)
}

// .org.phenopackets.schema.v1.core.OntologyClass sampled_tissue = 4;
inline bool Biosample::has_sampled_tissue() const {
  return this != internal_default_instance() && sampled_tissue_ != nullptr;
}
inline void Biosample::clear_sampled_tissue() {
  if (GetArenaNoVirtual() == nullptr && sampled_tissue_ != nullptr) {
    delete sampled_tissue_;
  }
  sampled_tissue_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::sampled_tissue() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = sampled_tissue_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.sampled_tissue)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::release_sampled_tissue() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.sampled_tissue)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = sampled_tissue_;
  sampled_tissue_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_sampled_tissue() {
  
  if (sampled_tissue_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    sampled_tissue_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.sampled_tissue)
  return sampled_tissue_;
}
inline void Biosample::set_allocated_sampled_tissue(::org::phenopackets::schema::v1::core::OntologyClass* sampled_tissue) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete sampled_tissue_;
  }
  if (sampled_tissue) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      sampled_tissue = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, sampled_tissue, submessage_arena);
    }
    
  } else {
    
  }
  sampled_tissue_ = sampled_tissue;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.sampled_tissue)
}

// repeated .org.phenopackets.schema.v1.core.PhenotypicFeature phenotypic_features = 5;
inline int Biosample::phenotypic_features_size() const {
  return phenotypic_features_.size();
}
inline void Biosample::clear_phenotypic_features() {
  phenotypic_features_.Clear();
}
inline ::org::phenopackets::schema::v1::core::PhenotypicFeature* Biosample::mutable_phenotypic_features(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.phenotypic_features)
  return phenotypic_features_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::PhenotypicFeature >*
Biosample::mutable_phenotypic_features() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Biosample.phenotypic_features)
  return &phenotypic_features_;
}
inline const ::org::phenopackets::schema::v1::core::PhenotypicFeature& Biosample::phenotypic_features(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.phenotypic_features)
  return phenotypic_features_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::PhenotypicFeature* Biosample::add_phenotypic_features() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Biosample.phenotypic_features)
  return phenotypic_features_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::PhenotypicFeature >&
Biosample::phenotypic_features() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Biosample.phenotypic_features)
  return phenotypic_features_;
}

// .org.phenopackets.schema.v1.core.OntologyClass taxonomy = 6;
inline bool Biosample::has_taxonomy() const {
  return this != internal_default_instance() && taxonomy_ != nullptr;
}
inline void Biosample::clear_taxonomy() {
  if (GetArenaNoVirtual() == nullptr && taxonomy_ != nullptr) {
    delete taxonomy_;
  }
  taxonomy_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::taxonomy() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = taxonomy_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.taxonomy)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::release_taxonomy() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.taxonomy)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = taxonomy_;
  taxonomy_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_taxonomy() {
  
  if (taxonomy_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    taxonomy_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.taxonomy)
  return taxonomy_;
}
inline void Biosample::set_allocated_taxonomy(::org::phenopackets::schema::v1::core::OntologyClass* taxonomy) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete taxonomy_;
  }
  if (taxonomy) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      taxonomy = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, taxonomy, submessage_arena);
    }
    
  } else {
    
  }
  taxonomy_ = taxonomy;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.taxonomy)
}

// .org.phenopackets.schema.v1.core.Age age_of_individual_at_collection = 7;
inline bool Biosample::has_age_of_individual_at_collection() const {
  return individual_age_at_collection_case() == kAgeOfIndividualAtCollection;
}
inline void Biosample::set_has_age_of_individual_at_collection() {
  _oneof_case_[0] = kAgeOfIndividualAtCollection;
}
inline void Biosample::clear_age_of_individual_at_collection() {
  if (has_age_of_individual_at_collection()) {
    delete individual_age_at_collection_.age_of_individual_at_collection_;
    clear_has_individual_age_at_collection();
  }
}
inline ::org::phenopackets::schema::v1::core::Age* Biosample::release_age_of_individual_at_collection() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.age_of_individual_at_collection)
  if (has_age_of_individual_at_collection()) {
    clear_has_individual_age_at_collection();
      ::org::phenopackets::schema::v1::core::Age* temp = individual_age_at_collection_.age_of_individual_at_collection_;
    individual_age_at_collection_.age_of_individual_at_collection_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::Age& Biosample::age_of_individual_at_collection() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.age_of_individual_at_collection)
  return has_age_of_individual_at_collection()
      ? *individual_age_at_collection_.age_of_individual_at_collection_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::Age*>(&::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* Biosample::mutable_age_of_individual_at_collection() {
  if (!has_age_of_individual_at_collection()) {
    clear_individual_age_at_collection();
    set_has_age_of_individual_at_collection();
    individual_age_at_collection_.age_of_individual_at_collection_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::Age >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.age_of_individual_at_collection)
  return individual_age_at_collection_.age_of_individual_at_collection_;
}

// .org.phenopackets.schema.v1.core.AgeRange age_range_of_individual_at_collection = 8;
inline bool Biosample::has_age_range_of_individual_at_collection() const {
  return individual_age_at_collection_case() == kAgeRangeOfIndividualAtCollection;
}
inline void Biosample::set_has_age_range_of_individual_at_collection() {
  _oneof_case_[0] = kAgeRangeOfIndividualAtCollection;
}
inline void Biosample::clear_age_range_of_individual_at_collection() {
  if (has_age_range_of_individual_at_collection()) {
    delete individual_age_at_collection_.age_range_of_individual_at_collection_;
    clear_has_individual_age_at_collection();
  }
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Biosample::release_age_range_of_individual_at_collection() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.age_range_of_individual_at_collection)
  if (has_age_range_of_individual_at_collection()) {
    clear_has_individual_age_at_collection();
      ::org::phenopackets::schema::v1::core::AgeRange* temp = individual_age_at_collection_.age_range_of_individual_at_collection_;
    individual_age_at_collection_.age_range_of_individual_at_collection_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::AgeRange& Biosample::age_range_of_individual_at_collection() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.age_range_of_individual_at_collection)
  return has_age_range_of_individual_at_collection()
      ? *individual_age_at_collection_.age_range_of_individual_at_collection_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::AgeRange*>(&::org::phenopackets::schema::v1::core::_AgeRange_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Biosample::mutable_age_range_of_individual_at_collection() {
  if (!has_age_range_of_individual_at_collection()) {
    clear_individual_age_at_collection();
    set_has_age_range_of_individual_at_collection();
    individual_age_at_collection_.age_range_of_individual_at_collection_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::AgeRange >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.age_range_of_individual_at_collection)
  return individual_age_at_collection_.age_range_of_individual_at_collection_;
}

// .org.phenopackets.schema.v1.core.OntologyClass histological_diagnosis = 9;
inline bool Biosample::has_histological_diagnosis() const {
  return this != internal_default_instance() && histological_diagnosis_ != nullptr;
}
inline void Biosample::clear_histological_diagnosis() {
  if (GetArenaNoVirtual() == nullptr && histological_diagnosis_ != nullptr) {
    delete histological_diagnosis_;
  }
  histological_diagnosis_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::histological_diagnosis() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = histological_diagnosis_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.histological_diagnosis)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::release_histological_diagnosis() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.histological_diagnosis)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = histological_diagnosis_;
  histological_diagnosis_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_histological_diagnosis() {
  
  if (histological_diagnosis_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    histological_diagnosis_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.histological_diagnosis)
  return histological_diagnosis_;
}
inline void Biosample::set_allocated_histological_diagnosis(::org::phenopackets::schema::v1::core::OntologyClass* histological_diagnosis) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete histological_diagnosis_;
  }
  if (histological_diagnosis) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      histological_diagnosis = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, histological_diagnosis, submessage_arena);
    }
    
  } else {
    
  }
  histological_diagnosis_ = histological_diagnosis;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.histological_diagnosis)
}

// .org.phenopackets.schema.v1.core.OntologyClass tumor_progression = 10;
inline bool Biosample::has_tumor_progression() const {
  return this != internal_default_instance() && tumor_progression_ != nullptr;
}
inline void Biosample::clear_tumor_progression() {
  if (GetArenaNoVirtual() == nullptr && tumor_progression_ != nullptr) {
    delete tumor_progression_;
  }
  tumor_progression_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::tumor_progression() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = tumor_progression_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.tumor_progression)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::release_tumor_progression() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.tumor_progression)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = tumor_progression_;
  tumor_progression_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_tumor_progression() {
  
  if (tumor_progression_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    tumor_progression_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.tumor_progression)
  return tumor_progression_;
}
inline void Biosample::set_allocated_tumor_progression(::org::phenopackets::schema::v1::core::OntologyClass* tumor_progression) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete tumor_progression_;
  }
  if (tumor_progression) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      tumor_progression = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, tumor_progression, submessage_arena);
    }
    
  } else {
    
  }
  tumor_progression_ = tumor_progression;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.tumor_progression)
}

// .org.phenopackets.schema.v1.core.OntologyClass tumor_grade = 11;
inline bool Biosample::has_tumor_grade() const {
  return this != internal_default_instance() && tumor_grade_ != nullptr;
}
inline void Biosample::clear_tumor_grade() {
  if (GetArenaNoVirtual() == nullptr && tumor_grade_ != nullptr) {
    delete tumor_grade_;
  }
  tumor_grade_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::tumor_grade() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = tumor_grade_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.tumor_grade)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::release_tumor_grade() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.tumor_grade)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = tumor_grade_;
  tumor_grade_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_tumor_grade() {
  
  if (tumor_grade_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    tumor_grade_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.tumor_grade)
  return tumor_grade_;
}
inline void Biosample::set_allocated_tumor_grade(::org::phenopackets::schema::v1::core::OntologyClass* tumor_grade) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete tumor_grade_;
  }
  if (tumor_grade) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      tumor_grade = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, tumor_grade, submessage_arena);
    }
    
  } else {
    
  }
  tumor_grade_ = tumor_grade;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.tumor_grade)
}

// repeated .org.phenopackets.schema.v1.core.OntologyClass diagnostic_markers = 12;
inline int Biosample::diagnostic_markers_size() const {
  return diagnostic_markers_.size();
}
inline void Biosample::clear_diagnostic_markers() {
  diagnostic_markers_.Clear();
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::mutable_diagnostic_markers(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.diagnostic_markers)
  return diagnostic_markers_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
Biosample::mutable_diagnostic_markers() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Biosample.diagnostic_markers)
  return &diagnostic_markers_;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Biosample::diagnostic_markers(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.diagnostic_markers)
  return diagnostic_markers_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Biosample::add_diagnostic_markers() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Biosample.diagnostic_markers)
  return diagnostic_markers_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
Biosample::diagnostic_markers() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Biosample.diagnostic_markers)
  return diagnostic_markers_;
}

// .org.phenopackets.schema.v1.core.Procedure procedure = 13;
inline bool Biosample::has_procedure() const {
  return this != internal_default_instance() && procedure_ != nullptr;
}
inline void Biosample::clear_procedure() {
  if (GetArenaNoVirtual() == nullptr && procedure_ != nullptr) {
    delete procedure_;
  }
  procedure_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::Procedure& Biosample::procedure() const {
  const ::org::phenopackets::schema::v1::core::Procedure* p = procedure_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.procedure)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_Procedure_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Procedure* Biosample::release_procedure() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Biosample.procedure)
  
  ::org::phenopackets::schema::v1::core::Procedure* temp = procedure_;
  procedure_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::Procedure* Biosample::mutable_procedure() {
  
  if (procedure_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::Procedure>(GetArenaNoVirtual());
    procedure_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.procedure)
  return procedure_;
}
inline void Biosample::set_allocated_procedure(::org::phenopackets::schema::v1::core::Procedure* procedure) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete procedure_;
  }
  if (procedure) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      procedure = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, procedure, submessage_arena);
    }
    
  } else {
    
  }
  procedure_ = procedure;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Biosample.procedure)
}

// repeated .org.phenopackets.schema.v1.core.HtsFile hts_files = 14;
inline int Biosample::hts_files_size() const {
  return hts_files_.size();
}
inline void Biosample::clear_hts_files() {
  hts_files_.Clear();
}
inline ::org::phenopackets::schema::v1::core::HtsFile* Biosample::mutable_hts_files(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.hts_files)
  return hts_files_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::HtsFile >*
Biosample::mutable_hts_files() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Biosample.hts_files)
  return &hts_files_;
}
inline const ::org::phenopackets::schema::v1::core::HtsFile& Biosample::hts_files(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.hts_files)
  return hts_files_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::HtsFile* Biosample::add_hts_files() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Biosample.hts_files)
  return hts_files_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::HtsFile >&
Biosample::hts_files() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Biosample.hts_files)
  return hts_files_;
}

// repeated .org.phenopackets.schema.v1.core.Variant variants = 15;
inline int Biosample::variants_size() const {
  return variants_.size();
}
inline void Biosample::clear_variants() {
  variants_.Clear();
}
inline ::org::phenopackets::schema::v1::core::Variant* Biosample::mutable_variants(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Biosample.variants)
  return variants_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Variant >*
Biosample::mutable_variants() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Biosample.variants)
  return &variants_;
}
inline const ::org::phenopackets::schema::v1::core::Variant& Biosample::variants(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.variants)
  return variants_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::Variant* Biosample::add_variants() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Biosample.variants)
  return variants_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Variant >&
Biosample::variants() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Biosample.variants)
  return variants_;
}

// bool is_control_sample = 16;
inline void Biosample::clear_is_control_sample() {
  is_control_sample_ = false;
}
inline bool Biosample::is_control_sample() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Biosample.is_control_sample)
  return is_control_sample_;
}
inline void Biosample::set_is_control_sample(bool value) {
  
  is_control_sample_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Biosample.is_control_sample)
}

inline bool Biosample::has_individual_age_at_collection() const {
  return individual_age_at_collection_case() != INDIVIDUAL_AGE_AT_COLLECTION_NOT_SET;
}
inline void Biosample::clear_has_individual_age_at_collection() {
  _oneof_case_[0] = INDIVIDUAL_AGE_AT_COLLECTION_NOT_SET;
}
inline Biosample::IndividualAgeAtCollectionCase Biosample::individual_age_at_collection_case() const {
  return Biosample::IndividualAgeAtCollectionCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// Procedure

// .org.phenopackets.schema.v1.core.OntologyClass code = 1;
inline bool Procedure::has_code() const {
  return this != internal_default_instance() && code_ != nullptr;
}
inline void Procedure::clear_code() {
  if (GetArenaNoVirtual() == nullptr && code_ != nullptr) {
    delete code_;
  }
  code_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Procedure::code() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = code_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Procedure.code)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Procedure::release_code() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Procedure.code)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = code_;
  code_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Procedure::mutable_code() {
  
  if (code_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    code_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Procedure.code)
  return code_;
}
inline void Procedure::set_allocated_code(::org::phenopackets::schema::v1::core::OntologyClass* code) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete code_;
  }
  if (code) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      code = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, code, submessage_arena);
    }
    
  } else {
    
  }
  code_ = code;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Procedure.code)
}

// .org.phenopackets.schema.v1.core.OntologyClass body_site = 2;
inline bool Procedure::has_body_site() const {
  return this != internal_default_instance() && body_site_ != nullptr;
}
inline void Procedure::clear_body_site() {
  if (GetArenaNoVirtual() == nullptr && body_site_ != nullptr) {
    delete body_site_;
  }
  body_site_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Procedure::body_site() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = body_site_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Procedure.body_site)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Procedure::release_body_site() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Procedure.body_site)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = body_site_;
  body_site_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Procedure::mutable_body_site() {
  
  if (body_site_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    body_site_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Procedure.body_site)
  return body_site_;
}
inline void Procedure::set_allocated_body_site(::org::phenopackets::schema::v1::core::OntologyClass* body_site) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete body_site_;
  }
  if (body_site) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      body_site = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, body_site, submessage_arena);
    }
    
  } else {
    
  }
  body_site_ = body_site;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Procedure.body_site)
}

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

// Age

// string age = 1;
inline void Age::clear_age() {
  age_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Age::age() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Age.age)
  return age_.GetNoArena();
}
inline void Age::set_age(const std::string& value) {
  
  age_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Age.age)
}
inline void Age::set_age(std::string&& value) {
  
  age_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Age.age)
}
inline void Age::set_age(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  age_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Age.age)
}
inline void Age::set_age(const char* value, size_t size) {
  
  age_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Age.age)
}
inline std::string* Age::mutable_age() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Age.age)
  return age_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Age::release_age() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Age.age)
  
  return age_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Age::set_allocated_age(std::string* age) {
  if (age != nullptr) {
    
  } else {
    
  }
  age_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), age);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Age.age)
}

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

// AgeRange

// .org.phenopackets.schema.v1.core.Age start = 1;
inline bool AgeRange::has_start() const {
  return this != internal_default_instance() && start_ != nullptr;
}
inline void AgeRange::clear_start() {
  if (GetArenaNoVirtual() == nullptr && start_ != nullptr) {
    delete start_;
  }
  start_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::Age& AgeRange::start() const {
  const ::org::phenopackets::schema::v1::core::Age* p = start_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.AgeRange.start)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* AgeRange::release_start() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.AgeRange.start)
  
  ::org::phenopackets::schema::v1::core::Age* temp = start_;
  start_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::Age* AgeRange::mutable_start() {
  
  if (start_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::Age>(GetArenaNoVirtual());
    start_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.AgeRange.start)
  return start_;
}
inline void AgeRange::set_allocated_start(::org::phenopackets::schema::v1::core::Age* start) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete start_;
  }
  if (start) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      start = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, start, submessage_arena);
    }
    
  } else {
    
  }
  start_ = start;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.AgeRange.start)
}

// .org.phenopackets.schema.v1.core.Age end = 2;
inline bool AgeRange::has_end() const {
  return this != internal_default_instance() && end_ != nullptr;
}
inline void AgeRange::clear_end() {
  if (GetArenaNoVirtual() == nullptr && end_ != nullptr) {
    delete end_;
  }
  end_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::Age& AgeRange::end() const {
  const ::org::phenopackets::schema::v1::core::Age* p = end_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.AgeRange.end)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* AgeRange::release_end() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.AgeRange.end)
  
  ::org::phenopackets::schema::v1::core::Age* temp = end_;
  end_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::Age* AgeRange::mutable_end() {
  
  if (end_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::Age>(GetArenaNoVirtual());
    end_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.AgeRange.end)
  return end_;
}
inline void AgeRange::set_allocated_end(::org::phenopackets::schema::v1::core::Age* end) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete end_;
  }
  if (end) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      end = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, end, submessage_arena);
    }
    
  } else {
    
  }
  end_ = end;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.AgeRange.end)
}

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

// Disease

// .org.phenopackets.schema.v1.core.OntologyClass term = 1;
inline bool Disease::has_term() const {
  return this != internal_default_instance() && term_ != nullptr;
}
inline void Disease::clear_term() {
  if (GetArenaNoVirtual() == nullptr && term_ != nullptr) {
    delete term_;
  }
  term_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Disease::term() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = term_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Disease.term)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::release_term() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Disease.term)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = term_;
  term_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::mutable_term() {
  
  if (term_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    term_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Disease.term)
  return term_;
}
inline void Disease::set_allocated_term(::org::phenopackets::schema::v1::core::OntologyClass* term) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete term_;
  }
  if (term) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      term = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, term, submessage_arena);
    }
    
  } else {
    
  }
  term_ = term;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Disease.term)
}

// .org.phenopackets.schema.v1.core.Age age_of_onset = 2;
inline bool Disease::has_age_of_onset() const {
  return onset_case() == kAgeOfOnset;
}
inline void Disease::set_has_age_of_onset() {
  _oneof_case_[0] = kAgeOfOnset;
}
inline void Disease::clear_age_of_onset() {
  if (has_age_of_onset()) {
    delete onset_.age_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::Age* Disease::release_age_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Disease.age_of_onset)
  if (has_age_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::Age* temp = onset_.age_of_onset_;
    onset_.age_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::Age& Disease::age_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Disease.age_of_onset)
  return has_age_of_onset()
      ? *onset_.age_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::Age*>(&::org::phenopackets::schema::v1::core::_Age_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::Age* Disease::mutable_age_of_onset() {
  if (!has_age_of_onset()) {
    clear_onset();
    set_has_age_of_onset();
    onset_.age_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::Age >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Disease.age_of_onset)
  return onset_.age_of_onset_;
}

// .org.phenopackets.schema.v1.core.AgeRange age_range_of_onset = 3;
inline bool Disease::has_age_range_of_onset() const {
  return onset_case() == kAgeRangeOfOnset;
}
inline void Disease::set_has_age_range_of_onset() {
  _oneof_case_[0] = kAgeRangeOfOnset;
}
inline void Disease::clear_age_range_of_onset() {
  if (has_age_range_of_onset()) {
    delete onset_.age_range_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Disease::release_age_range_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Disease.age_range_of_onset)
  if (has_age_range_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::AgeRange* temp = onset_.age_range_of_onset_;
    onset_.age_range_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::AgeRange& Disease::age_range_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Disease.age_range_of_onset)
  return has_age_range_of_onset()
      ? *onset_.age_range_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::AgeRange*>(&::org::phenopackets::schema::v1::core::_AgeRange_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::AgeRange* Disease::mutable_age_range_of_onset() {
  if (!has_age_range_of_onset()) {
    clear_onset();
    set_has_age_range_of_onset();
    onset_.age_range_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::AgeRange >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Disease.age_range_of_onset)
  return onset_.age_range_of_onset_;
}

// .org.phenopackets.schema.v1.core.OntologyClass class_of_onset = 4;
inline bool Disease::has_class_of_onset() const {
  return onset_case() == kClassOfOnset;
}
inline void Disease::set_has_class_of_onset() {
  _oneof_case_[0] = kClassOfOnset;
}
inline void Disease::clear_class_of_onset() {
  if (has_class_of_onset()) {
    delete onset_.class_of_onset_;
    clear_has_onset();
  }
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::release_class_of_onset() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Disease.class_of_onset)
  if (has_class_of_onset()) {
    clear_has_onset();
      ::org::phenopackets::schema::v1::core::OntologyClass* temp = onset_.class_of_onset_;
    onset_.class_of_onset_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Disease::class_of_onset() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Disease.class_of_onset)
  return has_class_of_onset()
      ? *onset_.class_of_onset_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::OntologyClass*>(&::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::mutable_class_of_onset() {
  if (!has_class_of_onset()) {
    clear_onset();
    set_has_class_of_onset();
    onset_.class_of_onset_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::OntologyClass >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Disease.class_of_onset)
  return onset_.class_of_onset_;
}

// repeated .org.phenopackets.schema.v1.core.OntologyClass tumor_stage = 5;
inline int Disease::tumor_stage_size() const {
  return tumor_stage_.size();
}
inline void Disease::clear_tumor_stage() {
  tumor_stage_.Clear();
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::mutable_tumor_stage(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Disease.tumor_stage)
  return tumor_stage_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >*
Disease::mutable_tumor_stage() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Disease.tumor_stage)
  return &tumor_stage_;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Disease::tumor_stage(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Disease.tumor_stage)
  return tumor_stage_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Disease::add_tumor_stage() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Disease.tumor_stage)
  return tumor_stage_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::OntologyClass >&
Disease::tumor_stage() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Disease.tumor_stage)
  return tumor_stage_;
}

inline bool Disease::has_onset() const {
  return onset_case() != ONSET_NOT_SET;
}
inline void Disease::clear_has_onset() {
  _oneof_case_[0] = ONSET_NOT_SET;
}
inline Disease::OnsetCase Disease::onset_case() const {
  return Disease::OnsetCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// Pedigree_Person

// string family_id = 1;
inline void Pedigree_Person::clear_family_id() {
  family_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Pedigree_Person::family_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
  return family_id_.GetNoArena();
}
inline void Pedigree_Person::set_family_id(const std::string& value) {
  
  family_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
}
inline void Pedigree_Person::set_family_id(std::string&& value) {
  
  family_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
}
inline void Pedigree_Person::set_family_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  family_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
}
inline void Pedigree_Person::set_family_id(const char* value, size_t size) {
  
  family_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
}
inline std::string* Pedigree_Person::mutable_family_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
  return family_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Pedigree_Person::release_family_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
  
  return family_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Pedigree_Person::set_allocated_family_id(std::string* family_id) {
  if (family_id != nullptr) {
    
  } else {
    
  }
  family_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), family_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Pedigree.Person.family_id)
}

// string individual_id = 2;
inline void Pedigree_Person::clear_individual_id() {
  individual_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Pedigree_Person::individual_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
  return individual_id_.GetNoArena();
}
inline void Pedigree_Person::set_individual_id(const std::string& value) {
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
}
inline void Pedigree_Person::set_individual_id(std::string&& value) {
  
  individual_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
}
inline void Pedigree_Person::set_individual_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
}
inline void Pedigree_Person::set_individual_id(const char* value, size_t size) {
  
  individual_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
}
inline std::string* Pedigree_Person::mutable_individual_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
  return individual_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Pedigree_Person::release_individual_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
  
  return individual_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Pedigree_Person::set_allocated_individual_id(std::string* individual_id) {
  if (individual_id != nullptr) {
    
  } else {
    
  }
  individual_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), individual_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Pedigree.Person.individual_id)
}

// string paternal_id = 3;
inline void Pedigree_Person::clear_paternal_id() {
  paternal_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Pedigree_Person::paternal_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
  return paternal_id_.GetNoArena();
}
inline void Pedigree_Person::set_paternal_id(const std::string& value) {
  
  paternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
}
inline void Pedigree_Person::set_paternal_id(std::string&& value) {
  
  paternal_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
}
inline void Pedigree_Person::set_paternal_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  paternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
}
inline void Pedigree_Person::set_paternal_id(const char* value, size_t size) {
  
  paternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
}
inline std::string* Pedigree_Person::mutable_paternal_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
  return paternal_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Pedigree_Person::release_paternal_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
  
  return paternal_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Pedigree_Person::set_allocated_paternal_id(std::string* paternal_id) {
  if (paternal_id != nullptr) {
    
  } else {
    
  }
  paternal_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), paternal_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Pedigree.Person.paternal_id)
}

// string maternal_id = 4;
inline void Pedigree_Person::clear_maternal_id() {
  maternal_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Pedigree_Person::maternal_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
  return maternal_id_.GetNoArena();
}
inline void Pedigree_Person::set_maternal_id(const std::string& value) {
  
  maternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
}
inline void Pedigree_Person::set_maternal_id(std::string&& value) {
  
  maternal_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
}
inline void Pedigree_Person::set_maternal_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  maternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
}
inline void Pedigree_Person::set_maternal_id(const char* value, size_t size) {
  
  maternal_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
}
inline std::string* Pedigree_Person::mutable_maternal_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
  return maternal_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Pedigree_Person::release_maternal_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
  
  return maternal_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Pedigree_Person::set_allocated_maternal_id(std::string* maternal_id) {
  if (maternal_id != nullptr) {
    
  } else {
    
  }
  maternal_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), maternal_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Pedigree.Person.maternal_id)
}

// .org.phenopackets.schema.v1.core.Sex sex = 5;
inline void Pedigree_Person::clear_sex() {
  sex_ = 0;
}
inline ::org::phenopackets::schema::v1::core::Sex Pedigree_Person::sex() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.sex)
  return static_cast< ::org::phenopackets::schema::v1::core::Sex >(sex_);
}
inline void Pedigree_Person::set_sex(::org::phenopackets::schema::v1::core::Sex value) {
  
  sex_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.sex)
}

// .org.phenopackets.schema.v1.core.Pedigree.Person.AffectedStatus affected_status = 6;
inline void Pedigree_Person::clear_affected_status() {
  affected_status_ = 0;
}
inline ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus Pedigree_Person::affected_status() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.Person.affected_status)
  return static_cast< ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus >(affected_status_);
}
inline void Pedigree_Person::set_affected_status(::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus value) {
  
  affected_status_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Pedigree.Person.affected_status)
}

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

// Pedigree

// repeated .org.phenopackets.schema.v1.core.Pedigree.Person persons = 1;
inline int Pedigree::persons_size() const {
  return persons_.size();
}
inline void Pedigree::clear_persons() {
  persons_.Clear();
}
inline ::org::phenopackets::schema::v1::core::Pedigree_Person* Pedigree::mutable_persons(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Pedigree.persons)
  return persons_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Pedigree_Person >*
Pedigree::mutable_persons() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Pedigree.persons)
  return &persons_;
}
inline const ::org::phenopackets::schema::v1::core::Pedigree_Person& Pedigree::persons(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Pedigree.persons)
  return persons_.Get(index);
}
inline ::org::phenopackets::schema::v1::core::Pedigree_Person* Pedigree::add_persons() {
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Pedigree.persons)
  return persons_.Add();
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::org::phenopackets::schema::v1::core::Pedigree_Person >&
Pedigree::persons() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Pedigree.persons)
  return persons_;
}

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

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

// HtsFile

// string uri = 1;
inline void HtsFile::clear_uri() {
  uri_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& HtsFile::uri() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HtsFile.uri)
  return uri_.GetNoArena();
}
inline void HtsFile::set_uri(const std::string& value) {
  
  uri_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HtsFile.uri)
}
inline void HtsFile::set_uri(std::string&& value) {
  
  uri_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.HtsFile.uri)
}
inline void HtsFile::set_uri(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  uri_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.HtsFile.uri)
}
inline void HtsFile::set_uri(const char* value, size_t size) {
  
  uri_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.HtsFile.uri)
}
inline std::string* HtsFile::mutable_uri() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.HtsFile.uri)
  return uri_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* HtsFile::release_uri() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.HtsFile.uri)
  
  return uri_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void HtsFile::set_allocated_uri(std::string* uri) {
  if (uri != nullptr) {
    
  } else {
    
  }
  uri_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), uri);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.HtsFile.uri)
}

// string description = 2;
inline void HtsFile::clear_description() {
  description_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& HtsFile::description() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HtsFile.description)
  return description_.GetNoArena();
}
inline void HtsFile::set_description(const std::string& value) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HtsFile.description)
}
inline void HtsFile::set_description(std::string&& value) {
  
  description_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.HtsFile.description)
}
inline void HtsFile::set_description(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.HtsFile.description)
}
inline void HtsFile::set_description(const char* value, size_t size) {
  
  description_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.HtsFile.description)
}
inline std::string* HtsFile::mutable_description() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.HtsFile.description)
  return description_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* HtsFile::release_description() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.HtsFile.description)
  
  return description_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void HtsFile::set_allocated_description(std::string* description) {
  if (description != nullptr) {
    
  } else {
    
  }
  description_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), description);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.HtsFile.description)
}

// .org.phenopackets.schema.v1.core.HtsFile.HtsFormat hts_format = 3;
inline void HtsFile::clear_hts_format() {
  hts_format_ = 0;
}
inline ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat HtsFile::hts_format() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HtsFile.hts_format)
  return static_cast< ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat >(hts_format_);
}
inline void HtsFile::set_hts_format(::org::phenopackets::schema::v1::core::HtsFile_HtsFormat value) {
  
  hts_format_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HtsFile.hts_format)
}

// string genome_assembly = 4;
inline void HtsFile::clear_genome_assembly() {
  genome_assembly_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& HtsFile::genome_assembly() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
  return genome_assembly_.GetNoArena();
}
inline void HtsFile::set_genome_assembly(const std::string& value) {
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
}
inline void HtsFile::set_genome_assembly(std::string&& value) {
  
  genome_assembly_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
}
inline void HtsFile::set_genome_assembly(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
}
inline void HtsFile::set_genome_assembly(const char* value, size_t size) {
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
}
inline std::string* HtsFile::mutable_genome_assembly() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
  return genome_assembly_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* HtsFile::release_genome_assembly() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
  
  return genome_assembly_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void HtsFile::set_allocated_genome_assembly(std::string* genome_assembly) {
  if (genome_assembly != nullptr) {
    
  } else {
    
  }
  genome_assembly_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), genome_assembly);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.HtsFile.genome_assembly)
}

// map individual_to_sample_identifiers = 5;
inline int HtsFile::individual_to_sample_identifiers_size() const {
  return individual_to_sample_identifiers_.size();
}
inline void HtsFile::clear_individual_to_sample_identifiers() {
  individual_to_sample_identifiers_.Clear();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >&
HtsFile::individual_to_sample_identifiers() const {
  // @@protoc_insertion_point(field_map:org.phenopackets.schema.v1.core.HtsFile.individual_to_sample_identifiers)
  return individual_to_sample_identifiers_.GetMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >*
HtsFile::mutable_individual_to_sample_identifiers() {
  // @@protoc_insertion_point(field_mutable_map:org.phenopackets.schema.v1.core.HtsFile.individual_to_sample_identifiers)
  return individual_to_sample_identifiers_.MutableMap();
}

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

// Gene

// string id = 1;
inline void Gene::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Gene::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Gene.id)
  return id_.GetNoArena();
}
inline void Gene::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Gene.id)
}
inline void Gene::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Gene.id)
}
inline void Gene::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Gene.id)
}
inline void Gene::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Gene.id)
}
inline std::string* Gene::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Gene.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Gene::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Gene.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Gene::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Gene.id)
}

// repeated string alternate_ids = 2;
inline int Gene::alternate_ids_size() const {
  return alternate_ids_.size();
}
inline void Gene::clear_alternate_ids() {
  alternate_ids_.Clear();
}
inline const std::string& Gene::alternate_ids(int index) const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  return alternate_ids_.Get(index);
}
inline std::string* Gene::mutable_alternate_ids(int index) {
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  return alternate_ids_.Mutable(index);
}
inline void Gene::set_alternate_ids(int index, const std::string& value) {
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  alternate_ids_.Mutable(index)->assign(value);
}
inline void Gene::set_alternate_ids(int index, std::string&& value) {
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  alternate_ids_.Mutable(index)->assign(std::move(value));
}
inline void Gene::set_alternate_ids(int index, const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  alternate_ids_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline void Gene::set_alternate_ids(int index, const char* value, size_t size) {
  alternate_ids_.Mutable(index)->assign(
    reinterpret_cast(value), size);
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline std::string* Gene::add_alternate_ids() {
  // @@protoc_insertion_point(field_add_mutable:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  return alternate_ids_.Add();
}
inline void Gene::add_alternate_ids(const std::string& value) {
  alternate_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline void Gene::add_alternate_ids(std::string&& value) {
  alternate_ids_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline void Gene::add_alternate_ids(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  alternate_ids_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline void Gene::add_alternate_ids(const char* value, size_t size) {
  alternate_ids_.Add()->assign(reinterpret_cast(value), size);
  // @@protoc_insertion_point(field_add_pointer:org.phenopackets.schema.v1.core.Gene.alternate_ids)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField&
Gene::alternate_ids() const {
  // @@protoc_insertion_point(field_list:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  return alternate_ids_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField*
Gene::mutable_alternate_ids() {
  // @@protoc_insertion_point(field_mutable_list:org.phenopackets.schema.v1.core.Gene.alternate_ids)
  return &alternate_ids_;
}

// string symbol = 3;
inline void Gene::clear_symbol() {
  symbol_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& Gene::symbol() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Gene.symbol)
  return symbol_.GetNoArena();
}
inline void Gene::set_symbol(const std::string& value) {
  
  symbol_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.Gene.symbol)
}
inline void Gene::set_symbol(std::string&& value) {
  
  symbol_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.Gene.symbol)
}
inline void Gene::set_symbol(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  symbol_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.Gene.symbol)
}
inline void Gene::set_symbol(const char* value, size_t size) {
  
  symbol_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.Gene.symbol)
}
inline std::string* Gene::mutable_symbol() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Gene.symbol)
  return symbol_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* Gene::release_symbol() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Gene.symbol)
  
  return symbol_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void Gene::set_allocated_symbol(std::string* symbol) {
  if (symbol != nullptr) {
    
  } else {
    
  }
  symbol_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), symbol);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Gene.symbol)
}

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

// Variant

// .org.phenopackets.schema.v1.core.HgvsAllele hgvs_allele = 2;
inline bool Variant::has_hgvs_allele() const {
  return allele_case() == kHgvsAllele;
}
inline void Variant::set_has_hgvs_allele() {
  _oneof_case_[0] = kHgvsAllele;
}
inline void Variant::clear_hgvs_allele() {
  if (has_hgvs_allele()) {
    delete allele_.hgvs_allele_;
    clear_has_allele();
  }
}
inline ::org::phenopackets::schema::v1::core::HgvsAllele* Variant::release_hgvs_allele() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Variant.hgvs_allele)
  if (has_hgvs_allele()) {
    clear_has_allele();
      ::org::phenopackets::schema::v1::core::HgvsAllele* temp = allele_.hgvs_allele_;
    allele_.hgvs_allele_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::HgvsAllele& Variant::hgvs_allele() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Variant.hgvs_allele)
  return has_hgvs_allele()
      ? *allele_.hgvs_allele_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::HgvsAllele*>(&::org::phenopackets::schema::v1::core::_HgvsAllele_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::HgvsAllele* Variant::mutable_hgvs_allele() {
  if (!has_hgvs_allele()) {
    clear_allele();
    set_has_hgvs_allele();
    allele_.hgvs_allele_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::HgvsAllele >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Variant.hgvs_allele)
  return allele_.hgvs_allele_;
}

// .org.phenopackets.schema.v1.core.VcfAllele vcf_allele = 3;
inline bool Variant::has_vcf_allele() const {
  return allele_case() == kVcfAllele;
}
inline void Variant::set_has_vcf_allele() {
  _oneof_case_[0] = kVcfAllele;
}
inline void Variant::clear_vcf_allele() {
  if (has_vcf_allele()) {
    delete allele_.vcf_allele_;
    clear_has_allele();
  }
}
inline ::org::phenopackets::schema::v1::core::VcfAllele* Variant::release_vcf_allele() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Variant.vcf_allele)
  if (has_vcf_allele()) {
    clear_has_allele();
      ::org::phenopackets::schema::v1::core::VcfAllele* temp = allele_.vcf_allele_;
    allele_.vcf_allele_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::VcfAllele& Variant::vcf_allele() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Variant.vcf_allele)
  return has_vcf_allele()
      ? *allele_.vcf_allele_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::VcfAllele*>(&::org::phenopackets::schema::v1::core::_VcfAllele_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::VcfAllele* Variant::mutable_vcf_allele() {
  if (!has_vcf_allele()) {
    clear_allele();
    set_has_vcf_allele();
    allele_.vcf_allele_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::VcfAllele >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Variant.vcf_allele)
  return allele_.vcf_allele_;
}

// .org.phenopackets.schema.v1.core.SpdiAllele spdi_allele = 4;
inline bool Variant::has_spdi_allele() const {
  return allele_case() == kSpdiAllele;
}
inline void Variant::set_has_spdi_allele() {
  _oneof_case_[0] = kSpdiAllele;
}
inline void Variant::clear_spdi_allele() {
  if (has_spdi_allele()) {
    delete allele_.spdi_allele_;
    clear_has_allele();
  }
}
inline ::org::phenopackets::schema::v1::core::SpdiAllele* Variant::release_spdi_allele() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Variant.spdi_allele)
  if (has_spdi_allele()) {
    clear_has_allele();
      ::org::phenopackets::schema::v1::core::SpdiAllele* temp = allele_.spdi_allele_;
    allele_.spdi_allele_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::SpdiAllele& Variant::spdi_allele() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Variant.spdi_allele)
  return has_spdi_allele()
      ? *allele_.spdi_allele_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::SpdiAllele*>(&::org::phenopackets::schema::v1::core::_SpdiAllele_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::SpdiAllele* Variant::mutable_spdi_allele() {
  if (!has_spdi_allele()) {
    clear_allele();
    set_has_spdi_allele();
    allele_.spdi_allele_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::SpdiAllele >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Variant.spdi_allele)
  return allele_.spdi_allele_;
}

// .org.phenopackets.schema.v1.core.IscnAllele iscn_allele = 5;
inline bool Variant::has_iscn_allele() const {
  return allele_case() == kIscnAllele;
}
inline void Variant::set_has_iscn_allele() {
  _oneof_case_[0] = kIscnAllele;
}
inline void Variant::clear_iscn_allele() {
  if (has_iscn_allele()) {
    delete allele_.iscn_allele_;
    clear_has_allele();
  }
}
inline ::org::phenopackets::schema::v1::core::IscnAllele* Variant::release_iscn_allele() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Variant.iscn_allele)
  if (has_iscn_allele()) {
    clear_has_allele();
      ::org::phenopackets::schema::v1::core::IscnAllele* temp = allele_.iscn_allele_;
    allele_.iscn_allele_ = nullptr;
    return temp;
  } else {
    return nullptr;
  }
}
inline const ::org::phenopackets::schema::v1::core::IscnAllele& Variant::iscn_allele() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Variant.iscn_allele)
  return has_iscn_allele()
      ? *allele_.iscn_allele_
      : *reinterpret_cast< ::org::phenopackets::schema::v1::core::IscnAllele*>(&::org::phenopackets::schema::v1::core::_IscnAllele_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::IscnAllele* Variant::mutable_iscn_allele() {
  if (!has_iscn_allele()) {
    clear_allele();
    set_has_iscn_allele();
    allele_.iscn_allele_ = CreateMaybeMessage< ::org::phenopackets::schema::v1::core::IscnAllele >(
        GetArenaNoVirtual());
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Variant.iscn_allele)
  return allele_.iscn_allele_;
}

// .org.phenopackets.schema.v1.core.OntologyClass zygosity = 6;
inline bool Variant::has_zygosity() const {
  return this != internal_default_instance() && zygosity_ != nullptr;
}
inline void Variant::clear_zygosity() {
  if (GetArenaNoVirtual() == nullptr && zygosity_ != nullptr) {
    delete zygosity_;
  }
  zygosity_ = nullptr;
}
inline const ::org::phenopackets::schema::v1::core::OntologyClass& Variant::zygosity() const {
  const ::org::phenopackets::schema::v1::core::OntologyClass* p = zygosity_;
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.Variant.zygosity)
  return p != nullptr ? *p : *reinterpret_cast(
      &::org::phenopackets::schema::v1::core::_OntologyClass_default_instance_);
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Variant::release_zygosity() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.Variant.zygosity)
  
  ::org::phenopackets::schema::v1::core::OntologyClass* temp = zygosity_;
  zygosity_ = nullptr;
  return temp;
}
inline ::org::phenopackets::schema::v1::core::OntologyClass* Variant::mutable_zygosity() {
  
  if (zygosity_ == nullptr) {
    auto* p = CreateMaybeMessage<::org::phenopackets::schema::v1::core::OntologyClass>(GetArenaNoVirtual());
    zygosity_ = p;
  }
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.Variant.zygosity)
  return zygosity_;
}
inline void Variant::set_allocated_zygosity(::org::phenopackets::schema::v1::core::OntologyClass* zygosity) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaNoVirtual();
  if (message_arena == nullptr) {
    delete zygosity_;
  }
  if (zygosity) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena = nullptr;
    if (message_arena != submessage_arena) {
      zygosity = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, zygosity, submessage_arena);
    }
    
  } else {
    
  }
  zygosity_ = zygosity;
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.Variant.zygosity)
}

inline bool Variant::has_allele() const {
  return allele_case() != ALLELE_NOT_SET;
}
inline void Variant::clear_has_allele() {
  _oneof_case_[0] = ALLELE_NOT_SET;
}
inline Variant::AlleleCase Variant::allele_case() const {
  return Variant::AlleleCase(_oneof_case_[0]);
}
// -------------------------------------------------------------------

// HgvsAllele

// string id = 1;
inline void HgvsAllele::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& HgvsAllele::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HgvsAllele.id)
  return id_.GetNoArena();
}
inline void HgvsAllele::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HgvsAllele.id)
}
inline void HgvsAllele::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.HgvsAllele.id)
}
inline void HgvsAllele::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.HgvsAllele.id)
}
inline void HgvsAllele::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.HgvsAllele.id)
}
inline std::string* HgvsAllele::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.HgvsAllele.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* HgvsAllele::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.HgvsAllele.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void HgvsAllele::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.HgvsAllele.id)
}

// string hgvs = 2;
inline void HgvsAllele::clear_hgvs() {
  hgvs_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& HgvsAllele::hgvs() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
  return hgvs_.GetNoArena();
}
inline void HgvsAllele::set_hgvs(const std::string& value) {
  
  hgvs_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
}
inline void HgvsAllele::set_hgvs(std::string&& value) {
  
  hgvs_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
}
inline void HgvsAllele::set_hgvs(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  hgvs_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
}
inline void HgvsAllele::set_hgvs(const char* value, size_t size) {
  
  hgvs_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
}
inline std::string* HgvsAllele::mutable_hgvs() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
  return hgvs_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* HgvsAllele::release_hgvs() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
  
  return hgvs_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void HgvsAllele::set_allocated_hgvs(std::string* hgvs) {
  if (hgvs != nullptr) {
    
  } else {
    
  }
  hgvs_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), hgvs);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.HgvsAllele.hgvs)
}

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

// VcfAllele

// string vcf_version = 1;
inline void VcfAllele::clear_vcf_version() {
  vcf_version_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::vcf_version() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
  return vcf_version_.GetNoArena();
}
inline void VcfAllele::set_vcf_version(const std::string& value) {
  
  vcf_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
}
inline void VcfAllele::set_vcf_version(std::string&& value) {
  
  vcf_version_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
}
inline void VcfAllele::set_vcf_version(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  vcf_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
}
inline void VcfAllele::set_vcf_version(const char* value, size_t size) {
  
  vcf_version_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
}
inline std::string* VcfAllele::mutable_vcf_version() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
  return vcf_version_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_vcf_version() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
  
  return vcf_version_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_vcf_version(std::string* vcf_version) {
  if (vcf_version != nullptr) {
    
  } else {
    
  }
  vcf_version_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), vcf_version);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.vcf_version)
}

// string genome_assembly = 2;
inline void VcfAllele::clear_genome_assembly() {
  genome_assembly_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::genome_assembly() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
  return genome_assembly_.GetNoArena();
}
inline void VcfAllele::set_genome_assembly(const std::string& value) {
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
}
inline void VcfAllele::set_genome_assembly(std::string&& value) {
  
  genome_assembly_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
}
inline void VcfAllele::set_genome_assembly(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
}
inline void VcfAllele::set_genome_assembly(const char* value, size_t size) {
  
  genome_assembly_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
}
inline std::string* VcfAllele::mutable_genome_assembly() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
  return genome_assembly_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_genome_assembly() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
  
  return genome_assembly_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_genome_assembly(std::string* genome_assembly) {
  if (genome_assembly != nullptr) {
    
  } else {
    
  }
  genome_assembly_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), genome_assembly);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.genome_assembly)
}

// string id = 3;
inline void VcfAllele::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.id)
  return id_.GetNoArena();
}
inline void VcfAllele::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.id)
}
inline void VcfAllele::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.id)
}
inline void VcfAllele::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.id)
}
inline void VcfAllele::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.id)
}
inline std::string* VcfAllele::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.id)
}

// string chr = 4;
inline void VcfAllele::clear_chr() {
  chr_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::chr() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.chr)
  return chr_.GetNoArena();
}
inline void VcfAllele::set_chr(const std::string& value) {
  
  chr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.chr)
}
inline void VcfAllele::set_chr(std::string&& value) {
  
  chr_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.chr)
}
inline void VcfAllele::set_chr(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  chr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.chr)
}
inline void VcfAllele::set_chr(const char* value, size_t size) {
  
  chr_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.chr)
}
inline std::string* VcfAllele::mutable_chr() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.chr)
  return chr_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_chr() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.chr)
  
  return chr_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_chr(std::string* chr) {
  if (chr != nullptr) {
    
  } else {
    
  }
  chr_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), chr);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.chr)
}

// int32 pos = 5;
inline void VcfAllele::clear_pos() {
  pos_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 VcfAllele::pos() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.pos)
  return pos_;
}
inline void VcfAllele::set_pos(::PROTOBUF_NAMESPACE_ID::int32 value) {
  
  pos_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.pos)
}

// string ref = 6;
inline void VcfAllele::clear_ref() {
  ref_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::ref() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.ref)
  return ref_.GetNoArena();
}
inline void VcfAllele::set_ref(const std::string& value) {
  
  ref_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.ref)
}
inline void VcfAllele::set_ref(std::string&& value) {
  
  ref_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.ref)
}
inline void VcfAllele::set_ref(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  ref_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.ref)
}
inline void VcfAllele::set_ref(const char* value, size_t size) {
  
  ref_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.ref)
}
inline std::string* VcfAllele::mutable_ref() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.ref)
  return ref_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_ref() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.ref)
  
  return ref_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_ref(std::string* ref) {
  if (ref != nullptr) {
    
  } else {
    
  }
  ref_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ref);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.ref)
}

// string alt = 7;
inline void VcfAllele::clear_alt() {
  alt_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::alt() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.alt)
  return alt_.GetNoArena();
}
inline void VcfAllele::set_alt(const std::string& value) {
  
  alt_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.alt)
}
inline void VcfAllele::set_alt(std::string&& value) {
  
  alt_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.alt)
}
inline void VcfAllele::set_alt(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  alt_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.alt)
}
inline void VcfAllele::set_alt(const char* value, size_t size) {
  
  alt_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.alt)
}
inline std::string* VcfAllele::mutable_alt() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.alt)
  return alt_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_alt() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.alt)
  
  return alt_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_alt(std::string* alt) {
  if (alt != nullptr) {
    
  } else {
    
  }
  alt_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), alt);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.alt)
}

// string info = 8;
inline void VcfAllele::clear_info() {
  info_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& VcfAllele::info() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.VcfAllele.info)
  return info_.GetNoArena();
}
inline void VcfAllele::set_info(const std::string& value) {
  
  info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.VcfAllele.info)
}
inline void VcfAllele::set_info(std::string&& value) {
  
  info_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.VcfAllele.info)
}
inline void VcfAllele::set_info(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.VcfAllele.info)
}
inline void VcfAllele::set_info(const char* value, size_t size) {
  
  info_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.VcfAllele.info)
}
inline std::string* VcfAllele::mutable_info() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.VcfAllele.info)
  return info_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* VcfAllele::release_info() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.VcfAllele.info)
  
  return info_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void VcfAllele::set_allocated_info(std::string* info) {
  if (info != nullptr) {
    
  } else {
    
  }
  info_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), info);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.VcfAllele.info)
}

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

// SpdiAllele

// string id = 1;
inline void SpdiAllele::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& SpdiAllele::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.SpdiAllele.id)
  return id_.GetNoArena();
}
inline void SpdiAllele::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.SpdiAllele.id)
}
inline void SpdiAllele::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.SpdiAllele.id)
}
inline void SpdiAllele::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.SpdiAllele.id)
}
inline void SpdiAllele::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.SpdiAllele.id)
}
inline std::string* SpdiAllele::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.SpdiAllele.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* SpdiAllele::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.SpdiAllele.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void SpdiAllele::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.SpdiAllele.id)
}

// string seq_id = 2;
inline void SpdiAllele::clear_seq_id() {
  seq_id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& SpdiAllele::seq_id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
  return seq_id_.GetNoArena();
}
inline void SpdiAllele::set_seq_id(const std::string& value) {
  
  seq_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
}
inline void SpdiAllele::set_seq_id(std::string&& value) {
  
  seq_id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
}
inline void SpdiAllele::set_seq_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  seq_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
}
inline void SpdiAllele::set_seq_id(const char* value, size_t size) {
  
  seq_id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
}
inline std::string* SpdiAllele::mutable_seq_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
  return seq_id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* SpdiAllele::release_seq_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
  
  return seq_id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void SpdiAllele::set_allocated_seq_id(std::string* seq_id) {
  if (seq_id != nullptr) {
    
  } else {
    
  }
  seq_id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), seq_id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.SpdiAllele.seq_id)
}

// int32 position = 3;
inline void SpdiAllele::clear_position() {
  position_ = 0;
}
inline ::PROTOBUF_NAMESPACE_ID::int32 SpdiAllele::position() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.SpdiAllele.position)
  return position_;
}
inline void SpdiAllele::set_position(::PROTOBUF_NAMESPACE_ID::int32 value) {
  
  position_ = value;
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.SpdiAllele.position)
}

// string deleted_sequence = 4;
inline void SpdiAllele::clear_deleted_sequence() {
  deleted_sequence_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& SpdiAllele::deleted_sequence() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
  return deleted_sequence_.GetNoArena();
}
inline void SpdiAllele::set_deleted_sequence(const std::string& value) {
  
  deleted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
}
inline void SpdiAllele::set_deleted_sequence(std::string&& value) {
  
  deleted_sequence_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
}
inline void SpdiAllele::set_deleted_sequence(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  deleted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
}
inline void SpdiAllele::set_deleted_sequence(const char* value, size_t size) {
  
  deleted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
}
inline std::string* SpdiAllele::mutable_deleted_sequence() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
  return deleted_sequence_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* SpdiAllele::release_deleted_sequence() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
  
  return deleted_sequence_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void SpdiAllele::set_allocated_deleted_sequence(std::string* deleted_sequence) {
  if (deleted_sequence != nullptr) {
    
  } else {
    
  }
  deleted_sequence_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), deleted_sequence);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.SpdiAllele.deleted_sequence)
}

// string inserted_sequence = 5;
inline void SpdiAllele::clear_inserted_sequence() {
  inserted_sequence_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& SpdiAllele::inserted_sequence() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
  return inserted_sequence_.GetNoArena();
}
inline void SpdiAllele::set_inserted_sequence(const std::string& value) {
  
  inserted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
}
inline void SpdiAllele::set_inserted_sequence(std::string&& value) {
  
  inserted_sequence_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
}
inline void SpdiAllele::set_inserted_sequence(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  inserted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
}
inline void SpdiAllele::set_inserted_sequence(const char* value, size_t size) {
  
  inserted_sequence_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
}
inline std::string* SpdiAllele::mutable_inserted_sequence() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
  return inserted_sequence_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* SpdiAllele::release_inserted_sequence() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
  
  return inserted_sequence_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void SpdiAllele::set_allocated_inserted_sequence(std::string* inserted_sequence) {
  if (inserted_sequence != nullptr) {
    
  } else {
    
  }
  inserted_sequence_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), inserted_sequence);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.SpdiAllele.inserted_sequence)
}

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

// IscnAllele

// string id = 1;
inline void IscnAllele::clear_id() {
  id_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& IscnAllele::id() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.IscnAllele.id)
  return id_.GetNoArena();
}
inline void IscnAllele::set_id(const std::string& value) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.IscnAllele.id)
}
inline void IscnAllele::set_id(std::string&& value) {
  
  id_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.IscnAllele.id)
}
inline void IscnAllele::set_id(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.IscnAllele.id)
}
inline void IscnAllele::set_id(const char* value, size_t size) {
  
  id_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.IscnAllele.id)
}
inline std::string* IscnAllele::mutable_id() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.IscnAllele.id)
  return id_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* IscnAllele::release_id() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.IscnAllele.id)
  
  return id_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void IscnAllele::set_allocated_id(std::string* id) {
  if (id != nullptr) {
    
  } else {
    
  }
  id_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), id);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.IscnAllele.id)
}

// string iscn = 2;
inline void IscnAllele::clear_iscn() {
  iscn_.ClearToEmptyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline const std::string& IscnAllele::iscn() const {
  // @@protoc_insertion_point(field_get:org.phenopackets.schema.v1.core.IscnAllele.iscn)
  return iscn_.GetNoArena();
}
inline void IscnAllele::set_iscn(const std::string& value) {
  
  iscn_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:org.phenopackets.schema.v1.core.IscnAllele.iscn)
}
inline void IscnAllele::set_iscn(std::string&& value) {
  
  iscn_.SetNoArena(
    &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:org.phenopackets.schema.v1.core.IscnAllele.iscn)
}
inline void IscnAllele::set_iscn(const char* value) {
  GOOGLE_DCHECK(value != nullptr);
  
  iscn_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:org.phenopackets.schema.v1.core.IscnAllele.iscn)
}
inline void IscnAllele::set_iscn(const char* value, size_t size) {
  
  iscn_.SetNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast(value), size));
  // @@protoc_insertion_point(field_set_pointer:org.phenopackets.schema.v1.core.IscnAllele.iscn)
}
inline std::string* IscnAllele::mutable_iscn() {
  
  // @@protoc_insertion_point(field_mutable:org.phenopackets.schema.v1.core.IscnAllele.iscn)
  return iscn_.MutableNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline std::string* IscnAllele::release_iscn() {
  // @@protoc_insertion_point(field_release:org.phenopackets.schema.v1.core.IscnAllele.iscn)
  
  return iscn_.ReleaseNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
}
inline void IscnAllele::set_allocated_iscn(std::string* iscn) {
  if (iscn != nullptr) {
    
  } else {
    
  }
  iscn_.SetAllocatedNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), iscn);
  // @@protoc_insertion_point(field_set_allocated:org.phenopackets.schema.v1.core.IscnAllele.iscn)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
// -------------------------------------------------------------------

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace core
}  // namespace v1
}  // namespace schema
}  // namespace phenopackets
}  // namespace org

PROTOBUF_NAMESPACE_OPEN

template <> struct is_proto_enum< ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus>() {
  return ::org::phenopackets::schema::v1::core::Pedigree_Person_AffectedStatus_descriptor();
}
template <> struct is_proto_enum< ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat>() {
  return ::org::phenopackets::schema::v1::core::HtsFile_HtsFormat_descriptor();
}
template <> struct is_proto_enum< ::org::phenopackets::schema::v1::core::Sex> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::org::phenopackets::schema::v1::core::Sex>() {
  return ::org::phenopackets::schema::v1::core::Sex_descriptor();
}
template <> struct is_proto_enum< ::org::phenopackets::schema::v1::core::KaryotypicSex> : ::std::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::org::phenopackets::schema::v1::core::KaryotypicSex>() {
  return ::org::phenopackets::schema::v1::core::KaryotypicSex_descriptor();
}

PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)

#include 
#endif  // GOOGLE_PROTOBUF_INCLUDED_GOOGLE_PROTOBUF_INCLUDED_base_2eproto




© 2015 - 2024 Weber Informatics LLC | Privacy Policy