// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: onnx/onnx-operators_onnx_c2.proto

#ifndef PROTOBUF_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto__INCLUDED
#define PROTOBUF_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3005000
#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 3005000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/generated_enum_reflection.h>
#include <google/protobuf/unknown_field_set.h>
#include "onnx/onnx_onnx_c2.pb.h"
// @@protoc_insertion_point(includes)

namespace protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto {
// Internal implementation detail -- do not use these members.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[3];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static const ::google::protobuf::uint32 offsets[];
};
void AddDescriptors();
void InitDefaultsFunctionProtoImpl();
void InitDefaultsFunctionProto();
void InitDefaultsOperatorProtoImpl();
void InitDefaultsOperatorProto();
void InitDefaultsOperatorSetProtoImpl();
void InitDefaultsOperatorSetProto();
inline void InitDefaults() {
  InitDefaultsFunctionProto();
  InitDefaultsOperatorProto();
  InitDefaultsOperatorSetProto();
}
}  // namespace protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto
namespace onnx_c2 { const ::std::string& GetEmptyStringAlreadyInited(); 
class FunctionProto;
class FunctionProtoDefaultTypeInternal;
extern FunctionProtoDefaultTypeInternal _FunctionProto_default_instance_;
class OperatorProto;
class OperatorProtoDefaultTypeInternal;
extern OperatorProtoDefaultTypeInternal _OperatorProto_default_instance_;
class OperatorSetProto;
class OperatorSetProtoDefaultTypeInternal;
extern OperatorSetProtoDefaultTypeInternal _OperatorSetProto_default_instance_;
}  // namespace onnx_c2
namespace onnx_c2 { const ::std::string& GetEmptyStringAlreadyInited(); 

enum OperatorStatus {
  EXPERIMENTAL = 0,
  STABLE = 1
};
bool OperatorStatus_IsValid(int value);
const OperatorStatus OperatorStatus_MIN = EXPERIMENTAL;
const OperatorStatus OperatorStatus_MAX = STABLE;
const int OperatorStatus_ARRAYSIZE = OperatorStatus_MAX + 1;

const ::google::protobuf::EnumDescriptor* OperatorStatus_descriptor();
inline const ::std::string& OperatorStatus_Name(OperatorStatus value) {
  return ::google::protobuf::internal::NameOfEnum(
    OperatorStatus_descriptor(), value);
}
inline bool OperatorStatus_Parse(
    const ::std::string& name, OperatorStatus* value) {
  return ::google::protobuf::internal::ParseNamedEnum<OperatorStatus>(
    OperatorStatus_descriptor(), name, value);
}
// ===================================================================

class FunctionProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:onnx_c2.FunctionProto) */ {
 public:
  FunctionProto();
  virtual ~FunctionProto();

  FunctionProto(const FunctionProto& from);

  inline FunctionProto& operator=(const FunctionProto& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  FunctionProto(FunctionProto&& from) noexcept
    : FunctionProto() {
    *this = ::std::move(from);
  }

  inline FunctionProto& operator=(FunctionProto&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const FunctionProto& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const FunctionProto* internal_default_instance() {
    return reinterpret_cast<const FunctionProto*>(
               &_FunctionProto_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

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

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

  inline FunctionProto* New() const PROTOBUF_FINAL { return New(NULL); }

  FunctionProto* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const FunctionProto& from);
  void MergeFrom(const FunctionProto& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(FunctionProto* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // repeated string input = 4;
  int input_size() const;
  void clear_input();
  static const int kInputFieldNumber = 4;
  const ::std::string& input(int index) const;
  ::std::string* mutable_input(int index);
  void set_input(int index, const ::std::string& value);
  #if LANG_CXX11
  void set_input(int index, ::std::string&& value);
  #endif
  void set_input(int index, const char* value);
  void set_input(int index, const char* value, size_t size);
  ::std::string* add_input();
  void add_input(const ::std::string& value);
  #if LANG_CXX11
  void add_input(::std::string&& value);
  #endif
  void add_input(const char* value);
  void add_input(const char* value, size_t size);
  const ::google::protobuf::RepeatedPtrField< ::std::string>& input() const;
  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_input();

  // repeated string output = 5;
  int output_size() const;
  void clear_output();
  static const int kOutputFieldNumber = 5;
  const ::std::string& output(int index) const;
  ::std::string* mutable_output(int index);
  void set_output(int index, const ::std::string& value);
  #if LANG_CXX11
  void set_output(int index, ::std::string&& value);
  #endif
  void set_output(int index, const char* value);
  void set_output(int index, const char* value, size_t size);
  ::std::string* add_output();
  void add_output(const ::std::string& value);
  #if LANG_CXX11
  void add_output(::std::string&& value);
  #endif
  void add_output(const char* value);
  void add_output(const char* value, size_t size);
  const ::google::protobuf::RepeatedPtrField< ::std::string>& output() const;
  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_output();

  // repeated string attribute = 6;
  int attribute_size() const;
  void clear_attribute();
  static const int kAttributeFieldNumber = 6;
  const ::std::string& attribute(int index) const;
  ::std::string* mutable_attribute(int index);
  void set_attribute(int index, const ::std::string& value);
  #if LANG_CXX11
  void set_attribute(int index, ::std::string&& value);
  #endif
  void set_attribute(int index, const char* value);
  void set_attribute(int index, const char* value, size_t size);
  ::std::string* add_attribute();
  void add_attribute(const ::std::string& value);
  #if LANG_CXX11
  void add_attribute(::std::string&& value);
  #endif
  void add_attribute(const char* value);
  void add_attribute(const char* value, size_t size);
  const ::google::protobuf::RepeatedPtrField< ::std::string>& attribute() const;
  ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_attribute();

  // repeated .onnx_c2.NodeProto node = 7;
  int node_size() const;
  void clear_node();
  static const int kNodeFieldNumber = 7;
  const ::onnx_c2::NodeProto& node(int index) const;
  ::onnx_c2::NodeProto* mutable_node(int index);
  ::onnx_c2::NodeProto* add_node();
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::NodeProto >*
      mutable_node();
  const ::google::protobuf::RepeatedPtrField< ::onnx_c2::NodeProto >&
      node() const;

  // optional string name = 1;
  bool has_name() const;
  void clear_name();
  static const int kNameFieldNumber = 1;
  const ::std::string& name() const;
  void set_name(const ::std::string& value);
  #if LANG_CXX11
  void set_name(::std::string&& value);
  #endif
  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);

  // optional string doc_string = 8;
  bool has_doc_string() const;
  void clear_doc_string();
  static const int kDocStringFieldNumber = 8;
  const ::std::string& doc_string() const;
  void set_doc_string(const ::std::string& value);
  #if LANG_CXX11
  void set_doc_string(::std::string&& value);
  #endif
  void set_doc_string(const char* value);
  void set_doc_string(const char* value, size_t size);
  ::std::string* mutable_doc_string();
  ::std::string* release_doc_string();
  void set_allocated_doc_string(::std::string* doc_string);

  // optional int64 since_version = 2;
  bool has_since_version() const;
  void clear_since_version();
  static const int kSinceVersionFieldNumber = 2;
  ::google::protobuf::int64 since_version() const;
  void set_since_version(::google::protobuf::int64 value);

  // optional .onnx_c2.OperatorStatus status = 3;
  bool has_status() const;
  void clear_status();
  static const int kStatusFieldNumber = 3;
  ::onnx_c2::OperatorStatus status() const;
  void set_status(::onnx_c2::OperatorStatus value);

  // @@protoc_insertion_point(class_scope:onnx_c2.FunctionProto)
 private:
  void set_has_name();
  void clear_has_name();
  void set_has_since_version();
  void clear_has_since_version();
  void set_has_status();
  void clear_has_status();
  void set_has_doc_string();
  void clear_has_doc_string();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::std::string> input_;
  ::google::protobuf::RepeatedPtrField< ::std::string> output_;
  ::google::protobuf::RepeatedPtrField< ::std::string> attribute_;
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::NodeProto > node_;
  ::google::protobuf::internal::ArenaStringPtr name_;
  ::google::protobuf::internal::ArenaStringPtr doc_string_;
  ::google::protobuf::int64 since_version_;
  int status_;
  friend struct ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::TableStruct;
  friend void ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::InitDefaultsFunctionProtoImpl();
};
// -------------------------------------------------------------------

class OperatorProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:onnx_c2.OperatorProto) */ {
 public:
  OperatorProto();
  virtual ~OperatorProto();

  OperatorProto(const OperatorProto& from);

  inline OperatorProto& operator=(const OperatorProto& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  OperatorProto(OperatorProto&& from) noexcept
    : OperatorProto() {
    *this = ::std::move(from);
  }

  inline OperatorProto& operator=(OperatorProto&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const OperatorProto& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const OperatorProto* internal_default_instance() {
    return reinterpret_cast<const OperatorProto*>(
               &_OperatorProto_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    1;

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

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

  inline OperatorProto* New() const PROTOBUF_FINAL { return New(NULL); }

  OperatorProto* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const OperatorProto& from);
  void MergeFrom(const OperatorProto& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(OperatorProto* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // optional string op_type = 1;
  bool has_op_type() const;
  void clear_op_type();
  static const int kOpTypeFieldNumber = 1;
  const ::std::string& op_type() const;
  void set_op_type(const ::std::string& value);
  #if LANG_CXX11
  void set_op_type(::std::string&& value);
  #endif
  void set_op_type(const char* value);
  void set_op_type(const char* value, size_t size);
  ::std::string* mutable_op_type();
  ::std::string* release_op_type();
  void set_allocated_op_type(::std::string* op_type);

  // optional string doc_string = 10;
  bool has_doc_string() const;
  void clear_doc_string();
  static const int kDocStringFieldNumber = 10;
  const ::std::string& doc_string() const;
  void set_doc_string(const ::std::string& value);
  #if LANG_CXX11
  void set_doc_string(::std::string&& value);
  #endif
  void set_doc_string(const char* value);
  void set_doc_string(const char* value, size_t size);
  ::std::string* mutable_doc_string();
  ::std::string* release_doc_string();
  void set_allocated_doc_string(::std::string* doc_string);

  // optional int64 since_version = 2;
  bool has_since_version() const;
  void clear_since_version();
  static const int kSinceVersionFieldNumber = 2;
  ::google::protobuf::int64 since_version() const;
  void set_since_version(::google::protobuf::int64 value);

  // optional .onnx_c2.OperatorStatus status = 3;
  bool has_status() const;
  void clear_status();
  static const int kStatusFieldNumber = 3;
  ::onnx_c2::OperatorStatus status() const;
  void set_status(::onnx_c2::OperatorStatus value);

  // @@protoc_insertion_point(class_scope:onnx_c2.OperatorProto)
 private:
  void set_has_op_type();
  void clear_has_op_type();
  void set_has_since_version();
  void clear_has_since_version();
  void set_has_status();
  void clear_has_status();
  void set_has_doc_string();
  void clear_has_doc_string();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::internal::ArenaStringPtr op_type_;
  ::google::protobuf::internal::ArenaStringPtr doc_string_;
  ::google::protobuf::int64 since_version_;
  int status_;
  friend struct ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::TableStruct;
  friend void ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::InitDefaultsOperatorProtoImpl();
};
// -------------------------------------------------------------------

class OperatorSetProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:onnx_c2.OperatorSetProto) */ {
 public:
  OperatorSetProto();
  virtual ~OperatorSetProto();

  OperatorSetProto(const OperatorSetProto& from);

  inline OperatorSetProto& operator=(const OperatorSetProto& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  OperatorSetProto(OperatorSetProto&& from) noexcept
    : OperatorSetProto() {
    *this = ::std::move(from);
  }

  inline OperatorSetProto& operator=(OperatorSetProto&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields();
  }
  inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields();
  }

  static const ::google::protobuf::Descriptor* descriptor();
  static const OperatorSetProto& default_instance();

  static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
  static inline const OperatorSetProto* internal_default_instance() {
    return reinterpret_cast<const OperatorSetProto*>(
               &_OperatorSetProto_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    2;

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

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

  inline OperatorSetProto* New() const PROTOBUF_FINAL { return New(NULL); }

  OperatorSetProto* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const OperatorSetProto& from);
  void MergeFrom(const OperatorSetProto& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(OperatorSetProto* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

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

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

  // repeated .onnx_c2.OperatorProto operator = 8;
  int operator__size() const;
  void clear_operator_();
  static const int kOperatorFieldNumber = 8;
  const ::onnx_c2::OperatorProto& operator_(int index) const;
  ::onnx_c2::OperatorProto* mutable_operator_(int index);
  ::onnx_c2::OperatorProto* add_operator_();
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::OperatorProto >*
      mutable_operator_();
  const ::google::protobuf::RepeatedPtrField< ::onnx_c2::OperatorProto >&
      operator_() const;

  // repeated .onnx_c2.FunctionProto functions = 9;
  int functions_size() const;
  void clear_functions();
  static const int kFunctionsFieldNumber = 9;
  const ::onnx_c2::FunctionProto& functions(int index) const;
  ::onnx_c2::FunctionProto* mutable_functions(int index);
  ::onnx_c2::FunctionProto* add_functions();
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::FunctionProto >*
      mutable_functions();
  const ::google::protobuf::RepeatedPtrField< ::onnx_c2::FunctionProto >&
      functions() const;

  // optional string magic = 1;
  bool has_magic() const;
  void clear_magic();
  static const int kMagicFieldNumber = 1;
  const ::std::string& magic() const;
  void set_magic(const ::std::string& value);
  #if LANG_CXX11
  void set_magic(::std::string&& value);
  #endif
  void set_magic(const char* value);
  void set_magic(const char* value, size_t size);
  ::std::string* mutable_magic();
  ::std::string* release_magic();
  void set_allocated_magic(::std::string* magic);

  // optional string ir_version_prerelease = 3;
  bool has_ir_version_prerelease() const;
  void clear_ir_version_prerelease();
  static const int kIrVersionPrereleaseFieldNumber = 3;
  const ::std::string& ir_version_prerelease() const;
  void set_ir_version_prerelease(const ::std::string& value);
  #if LANG_CXX11
  void set_ir_version_prerelease(::std::string&& value);
  #endif
  void set_ir_version_prerelease(const char* value);
  void set_ir_version_prerelease(const char* value, size_t size);
  ::std::string* mutable_ir_version_prerelease();
  ::std::string* release_ir_version_prerelease();
  void set_allocated_ir_version_prerelease(::std::string* ir_version_prerelease);

  // optional string domain = 4;
  bool has_domain() const;
  void clear_domain();
  static const int kDomainFieldNumber = 4;
  const ::std::string& domain() const;
  void set_domain(const ::std::string& value);
  #if LANG_CXX11
  void set_domain(::std::string&& value);
  #endif
  void set_domain(const char* value);
  void set_domain(const char* value, size_t size);
  ::std::string* mutable_domain();
  ::std::string* release_domain();
  void set_allocated_domain(::std::string* domain);

  // optional string doc_string = 6;
  bool has_doc_string() const;
  void clear_doc_string();
  static const int kDocStringFieldNumber = 6;
  const ::std::string& doc_string() const;
  void set_doc_string(const ::std::string& value);
  #if LANG_CXX11
  void set_doc_string(::std::string&& value);
  #endif
  void set_doc_string(const char* value);
  void set_doc_string(const char* value, size_t size);
  ::std::string* mutable_doc_string();
  ::std::string* release_doc_string();
  void set_allocated_doc_string(::std::string* doc_string);

  // optional string ir_build_metadata = 7;
  bool has_ir_build_metadata() const;
  void clear_ir_build_metadata();
  static const int kIrBuildMetadataFieldNumber = 7;
  const ::std::string& ir_build_metadata() const;
  void set_ir_build_metadata(const ::std::string& value);
  #if LANG_CXX11
  void set_ir_build_metadata(::std::string&& value);
  #endif
  void set_ir_build_metadata(const char* value);
  void set_ir_build_metadata(const char* value, size_t size);
  ::std::string* mutable_ir_build_metadata();
  ::std::string* release_ir_build_metadata();
  void set_allocated_ir_build_metadata(::std::string* ir_build_metadata);

  // optional int64 opset_version = 5;
  bool has_opset_version() const;
  void clear_opset_version();
  static const int kOpsetVersionFieldNumber = 5;
  ::google::protobuf::int64 opset_version() const;
  void set_opset_version(::google::protobuf::int64 value);

  // optional int32 ir_version = 2;
  bool has_ir_version() const;
  void clear_ir_version();
  static const int kIrVersionFieldNumber = 2;
  ::google::protobuf::int32 ir_version() const;
  void set_ir_version(::google::protobuf::int32 value);

  // @@protoc_insertion_point(class_scope:onnx_c2.OperatorSetProto)
 private:
  void set_has_magic();
  void clear_has_magic();
  void set_has_ir_version();
  void clear_has_ir_version();
  void set_has_ir_version_prerelease();
  void clear_has_ir_version_prerelease();
  void set_has_ir_build_metadata();
  void clear_has_ir_build_metadata();
  void set_has_domain();
  void clear_has_domain();
  void set_has_opset_version();
  void clear_has_opset_version();
  void set_has_doc_string();
  void clear_has_doc_string();

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::internal::HasBits<1> _has_bits_;
  mutable int _cached_size_;
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::OperatorProto > operator__;
  ::google::protobuf::RepeatedPtrField< ::onnx_c2::FunctionProto > functions_;
  ::google::protobuf::internal::ArenaStringPtr magic_;
  ::google::protobuf::internal::ArenaStringPtr ir_version_prerelease_;
  ::google::protobuf::internal::ArenaStringPtr domain_;
  ::google::protobuf::internal::ArenaStringPtr doc_string_;
  ::google::protobuf::internal::ArenaStringPtr ir_build_metadata_;
  ::google::protobuf::int64 opset_version_;
  ::google::protobuf::int32 ir_version_;
  friend struct ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::TableStruct;
  friend void ::protobuf_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto::InitDefaultsOperatorSetProtoImpl();
};
// ===================================================================


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

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

// optional string name = 1;
inline bool FunctionProto::has_name() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void FunctionProto::set_has_name() {
  _has_bits_[0] |= 0x00000001u;
}
inline void FunctionProto::clear_has_name() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void FunctionProto::clear_name() {
  name_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_name();
}
inline const ::std::string& FunctionProto::name() const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.name)
  return name_.GetNoArena();
}
inline void FunctionProto::set_name(const ::std::string& value) {
  set_has_name();
  name_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.name)
}
#if LANG_CXX11
inline void FunctionProto::set_name(::std::string&& value) {
  set_has_name();
  name_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.FunctionProto.name)
}
#endif
inline void FunctionProto::set_name(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_name();
  name_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.FunctionProto.name)
}
inline void FunctionProto::set_name(const char* value, size_t size) {
  set_has_name();
  name_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.FunctionProto.name)
}
inline ::std::string* FunctionProto::mutable_name() {
  set_has_name();
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.name)
  return name_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* FunctionProto::release_name() {
  // @@protoc_insertion_point(field_release:onnx_c2.FunctionProto.name)
  clear_has_name();
  return name_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void FunctionProto::set_allocated_name(::std::string* name) {
  if (name != NULL) {
    set_has_name();
  } else {
    clear_has_name();
  }
  name_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), name);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.FunctionProto.name)
}

// optional int64 since_version = 2;
inline bool FunctionProto::has_since_version() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void FunctionProto::set_has_since_version() {
  _has_bits_[0] |= 0x00000004u;
}
inline void FunctionProto::clear_has_since_version() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void FunctionProto::clear_since_version() {
  since_version_ = GOOGLE_LONGLONG(0);
  clear_has_since_version();
}
inline ::google::protobuf::int64 FunctionProto::since_version() const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.since_version)
  return since_version_;
}
inline void FunctionProto::set_since_version(::google::protobuf::int64 value) {
  set_has_since_version();
  since_version_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.since_version)
}

// optional .onnx_c2.OperatorStatus status = 3;
inline bool FunctionProto::has_status() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void FunctionProto::set_has_status() {
  _has_bits_[0] |= 0x00000008u;
}
inline void FunctionProto::clear_has_status() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void FunctionProto::clear_status() {
  status_ = 0;
  clear_has_status();
}
inline ::onnx_c2::OperatorStatus FunctionProto::status() const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.status)
  return static_cast< ::onnx_c2::OperatorStatus >(status_);
}
inline void FunctionProto::set_status(::onnx_c2::OperatorStatus value) {
  assert(::onnx_c2::OperatorStatus_IsValid(value));
  set_has_status();
  status_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.status)
}

// repeated string input = 4;
inline int FunctionProto::input_size() const {
  return input_.size();
}
inline void FunctionProto::clear_input() {
  input_.Clear();
}
inline const ::std::string& FunctionProto::input(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.input)
  return input_.Get(index);
}
inline ::std::string* FunctionProto::mutable_input(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.input)
  return input_.Mutable(index);
}
inline void FunctionProto::set_input(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.input)
  input_.Mutable(index)->assign(value);
}
#if LANG_CXX11
inline void FunctionProto::set_input(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.input)
  input_.Mutable(index)->assign(std::move(value));
}
#endif
inline void FunctionProto::set_input(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  input_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:onnx_c2.FunctionProto.input)
}
inline void FunctionProto::set_input(int index, const char* value, size_t size) {
  input_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.FunctionProto.input)
}
inline ::std::string* FunctionProto::add_input() {
  // @@protoc_insertion_point(field_add_mutable:onnx_c2.FunctionProto.input)
  return input_.Add();
}
inline void FunctionProto::add_input(const ::std::string& value) {
  input_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.input)
}
#if LANG_CXX11
inline void FunctionProto::add_input(::std::string&& value) {
  input_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.input)
}
#endif
inline void FunctionProto::add_input(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  input_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:onnx_c2.FunctionProto.input)
}
inline void FunctionProto::add_input(const char* value, size_t size) {
  input_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:onnx_c2.FunctionProto.input)
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
FunctionProto::input() const {
  // @@protoc_insertion_point(field_list:onnx_c2.FunctionProto.input)
  return input_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
FunctionProto::mutable_input() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.FunctionProto.input)
  return &input_;
}

// repeated string output = 5;
inline int FunctionProto::output_size() const {
  return output_.size();
}
inline void FunctionProto::clear_output() {
  output_.Clear();
}
inline const ::std::string& FunctionProto::output(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.output)
  return output_.Get(index);
}
inline ::std::string* FunctionProto::mutable_output(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.output)
  return output_.Mutable(index);
}
inline void FunctionProto::set_output(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.output)
  output_.Mutable(index)->assign(value);
}
#if LANG_CXX11
inline void FunctionProto::set_output(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.output)
  output_.Mutable(index)->assign(std::move(value));
}
#endif
inline void FunctionProto::set_output(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  output_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:onnx_c2.FunctionProto.output)
}
inline void FunctionProto::set_output(int index, const char* value, size_t size) {
  output_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.FunctionProto.output)
}
inline ::std::string* FunctionProto::add_output() {
  // @@protoc_insertion_point(field_add_mutable:onnx_c2.FunctionProto.output)
  return output_.Add();
}
inline void FunctionProto::add_output(const ::std::string& value) {
  output_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.output)
}
#if LANG_CXX11
inline void FunctionProto::add_output(::std::string&& value) {
  output_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.output)
}
#endif
inline void FunctionProto::add_output(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  output_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:onnx_c2.FunctionProto.output)
}
inline void FunctionProto::add_output(const char* value, size_t size) {
  output_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:onnx_c2.FunctionProto.output)
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
FunctionProto::output() const {
  // @@protoc_insertion_point(field_list:onnx_c2.FunctionProto.output)
  return output_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
FunctionProto::mutable_output() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.FunctionProto.output)
  return &output_;
}

// repeated string attribute = 6;
inline int FunctionProto::attribute_size() const {
  return attribute_.size();
}
inline void FunctionProto::clear_attribute() {
  attribute_.Clear();
}
inline const ::std::string& FunctionProto::attribute(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.attribute)
  return attribute_.Get(index);
}
inline ::std::string* FunctionProto::mutable_attribute(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.attribute)
  return attribute_.Mutable(index);
}
inline void FunctionProto::set_attribute(int index, const ::std::string& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.attribute)
  attribute_.Mutable(index)->assign(value);
}
#if LANG_CXX11
inline void FunctionProto::set_attribute(int index, ::std::string&& value) {
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.attribute)
  attribute_.Mutable(index)->assign(std::move(value));
}
#endif
inline void FunctionProto::set_attribute(int index, const char* value) {
  GOOGLE_DCHECK(value != NULL);
  attribute_.Mutable(index)->assign(value);
  // @@protoc_insertion_point(field_set_char:onnx_c2.FunctionProto.attribute)
}
inline void FunctionProto::set_attribute(int index, const char* value, size_t size) {
  attribute_.Mutable(index)->assign(
    reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.FunctionProto.attribute)
}
inline ::std::string* FunctionProto::add_attribute() {
  // @@protoc_insertion_point(field_add_mutable:onnx_c2.FunctionProto.attribute)
  return attribute_.Add();
}
inline void FunctionProto::add_attribute(const ::std::string& value) {
  attribute_.Add()->assign(value);
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.attribute)
}
#if LANG_CXX11
inline void FunctionProto::add_attribute(::std::string&& value) {
  attribute_.Add(std::move(value));
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.attribute)
}
#endif
inline void FunctionProto::add_attribute(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  attribute_.Add()->assign(value);
  // @@protoc_insertion_point(field_add_char:onnx_c2.FunctionProto.attribute)
}
inline void FunctionProto::add_attribute(const char* value, size_t size) {
  attribute_.Add()->assign(reinterpret_cast<const char*>(value), size);
  // @@protoc_insertion_point(field_add_pointer:onnx_c2.FunctionProto.attribute)
}
inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
FunctionProto::attribute() const {
  // @@protoc_insertion_point(field_list:onnx_c2.FunctionProto.attribute)
  return attribute_;
}
inline ::google::protobuf::RepeatedPtrField< ::std::string>*
FunctionProto::mutable_attribute() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.FunctionProto.attribute)
  return &attribute_;
}

// repeated .onnx_c2.NodeProto node = 7;
inline int FunctionProto::node_size() const {
  return node_.size();
}
inline const ::onnx_c2::NodeProto& FunctionProto::node(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.node)
  return node_.Get(index);
}
inline ::onnx_c2::NodeProto* FunctionProto::mutable_node(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.node)
  return node_.Mutable(index);
}
inline ::onnx_c2::NodeProto* FunctionProto::add_node() {
  // @@protoc_insertion_point(field_add:onnx_c2.FunctionProto.node)
  return node_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::onnx_c2::NodeProto >*
FunctionProto::mutable_node() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.FunctionProto.node)
  return &node_;
}
inline const ::google::protobuf::RepeatedPtrField< ::onnx_c2::NodeProto >&
FunctionProto::node() const {
  // @@protoc_insertion_point(field_list:onnx_c2.FunctionProto.node)
  return node_;
}

// optional string doc_string = 8;
inline bool FunctionProto::has_doc_string() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void FunctionProto::set_has_doc_string() {
  _has_bits_[0] |= 0x00000002u;
}
inline void FunctionProto::clear_has_doc_string() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void FunctionProto::clear_doc_string() {
  doc_string_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_doc_string();
}
inline const ::std::string& FunctionProto::doc_string() const {
  // @@protoc_insertion_point(field_get:onnx_c2.FunctionProto.doc_string)
  return doc_string_.GetNoArena();
}
inline void FunctionProto::set_doc_string(const ::std::string& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.FunctionProto.doc_string)
}
#if LANG_CXX11
inline void FunctionProto::set_doc_string(::std::string&& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.FunctionProto.doc_string)
}
#endif
inline void FunctionProto::set_doc_string(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.FunctionProto.doc_string)
}
inline void FunctionProto::set_doc_string(const char* value, size_t size) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.FunctionProto.doc_string)
}
inline ::std::string* FunctionProto::mutable_doc_string() {
  set_has_doc_string();
  // @@protoc_insertion_point(field_mutable:onnx_c2.FunctionProto.doc_string)
  return doc_string_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* FunctionProto::release_doc_string() {
  // @@protoc_insertion_point(field_release:onnx_c2.FunctionProto.doc_string)
  clear_has_doc_string();
  return doc_string_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void FunctionProto::set_allocated_doc_string(::std::string* doc_string) {
  if (doc_string != NULL) {
    set_has_doc_string();
  } else {
    clear_has_doc_string();
  }
  doc_string_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), doc_string);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.FunctionProto.doc_string)
}

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

// OperatorProto

// optional string op_type = 1;
inline bool OperatorProto::has_op_type() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OperatorProto::set_has_op_type() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OperatorProto::clear_has_op_type() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OperatorProto::clear_op_type() {
  op_type_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_op_type();
}
inline const ::std::string& OperatorProto::op_type() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorProto.op_type)
  return op_type_.GetNoArena();
}
inline void OperatorProto::set_op_type(const ::std::string& value) {
  set_has_op_type();
  op_type_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorProto.op_type)
}
#if LANG_CXX11
inline void OperatorProto::set_op_type(::std::string&& value) {
  set_has_op_type();
  op_type_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorProto.op_type)
}
#endif
inline void OperatorProto::set_op_type(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_op_type();
  op_type_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorProto.op_type)
}
inline void OperatorProto::set_op_type(const char* value, size_t size) {
  set_has_op_type();
  op_type_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorProto.op_type)
}
inline ::std::string* OperatorProto::mutable_op_type() {
  set_has_op_type();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorProto.op_type)
  return op_type_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorProto::release_op_type() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorProto.op_type)
  clear_has_op_type();
  return op_type_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorProto::set_allocated_op_type(::std::string* op_type) {
  if (op_type != NULL) {
    set_has_op_type();
  } else {
    clear_has_op_type();
  }
  op_type_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), op_type);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorProto.op_type)
}

// optional int64 since_version = 2;
inline bool OperatorProto::has_since_version() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void OperatorProto::set_has_since_version() {
  _has_bits_[0] |= 0x00000004u;
}
inline void OperatorProto::clear_has_since_version() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void OperatorProto::clear_since_version() {
  since_version_ = GOOGLE_LONGLONG(0);
  clear_has_since_version();
}
inline ::google::protobuf::int64 OperatorProto::since_version() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorProto.since_version)
  return since_version_;
}
inline void OperatorProto::set_since_version(::google::protobuf::int64 value) {
  set_has_since_version();
  since_version_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorProto.since_version)
}

// optional .onnx_c2.OperatorStatus status = 3;
inline bool OperatorProto::has_status() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void OperatorProto::set_has_status() {
  _has_bits_[0] |= 0x00000008u;
}
inline void OperatorProto::clear_has_status() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void OperatorProto::clear_status() {
  status_ = 0;
  clear_has_status();
}
inline ::onnx_c2::OperatorStatus OperatorProto::status() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorProto.status)
  return static_cast< ::onnx_c2::OperatorStatus >(status_);
}
inline void OperatorProto::set_status(::onnx_c2::OperatorStatus value) {
  assert(::onnx_c2::OperatorStatus_IsValid(value));
  set_has_status();
  status_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorProto.status)
}

// optional string doc_string = 10;
inline bool OperatorProto::has_doc_string() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void OperatorProto::set_has_doc_string() {
  _has_bits_[0] |= 0x00000002u;
}
inline void OperatorProto::clear_has_doc_string() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void OperatorProto::clear_doc_string() {
  doc_string_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_doc_string();
}
inline const ::std::string& OperatorProto::doc_string() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorProto.doc_string)
  return doc_string_.GetNoArena();
}
inline void OperatorProto::set_doc_string(const ::std::string& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorProto.doc_string)
}
#if LANG_CXX11
inline void OperatorProto::set_doc_string(::std::string&& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorProto.doc_string)
}
#endif
inline void OperatorProto::set_doc_string(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorProto.doc_string)
}
inline void OperatorProto::set_doc_string(const char* value, size_t size) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorProto.doc_string)
}
inline ::std::string* OperatorProto::mutable_doc_string() {
  set_has_doc_string();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorProto.doc_string)
  return doc_string_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorProto::release_doc_string() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorProto.doc_string)
  clear_has_doc_string();
  return doc_string_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorProto::set_allocated_doc_string(::std::string* doc_string) {
  if (doc_string != NULL) {
    set_has_doc_string();
  } else {
    clear_has_doc_string();
  }
  doc_string_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), doc_string);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorProto.doc_string)
}

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

// OperatorSetProto

// optional string magic = 1;
inline bool OperatorSetProto::has_magic() const {
  return (_has_bits_[0] & 0x00000001u) != 0;
}
inline void OperatorSetProto::set_has_magic() {
  _has_bits_[0] |= 0x00000001u;
}
inline void OperatorSetProto::clear_has_magic() {
  _has_bits_[0] &= ~0x00000001u;
}
inline void OperatorSetProto::clear_magic() {
  magic_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_magic();
}
inline const ::std::string& OperatorSetProto::magic() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.magic)
  return magic_.GetNoArena();
}
inline void OperatorSetProto::set_magic(const ::std::string& value) {
  set_has_magic();
  magic_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.magic)
}
#if LANG_CXX11
inline void OperatorSetProto::set_magic(::std::string&& value) {
  set_has_magic();
  magic_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorSetProto.magic)
}
#endif
inline void OperatorSetProto::set_magic(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_magic();
  magic_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorSetProto.magic)
}
inline void OperatorSetProto::set_magic(const char* value, size_t size) {
  set_has_magic();
  magic_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorSetProto.magic)
}
inline ::std::string* OperatorSetProto::mutable_magic() {
  set_has_magic();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.magic)
  return magic_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorSetProto::release_magic() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorSetProto.magic)
  clear_has_magic();
  return magic_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorSetProto::set_allocated_magic(::std::string* magic) {
  if (magic != NULL) {
    set_has_magic();
  } else {
    clear_has_magic();
  }
  magic_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), magic);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorSetProto.magic)
}

// optional int32 ir_version = 2;
inline bool OperatorSetProto::has_ir_version() const {
  return (_has_bits_[0] & 0x00000040u) != 0;
}
inline void OperatorSetProto::set_has_ir_version() {
  _has_bits_[0] |= 0x00000040u;
}
inline void OperatorSetProto::clear_has_ir_version() {
  _has_bits_[0] &= ~0x00000040u;
}
inline void OperatorSetProto::clear_ir_version() {
  ir_version_ = 0;
  clear_has_ir_version();
}
inline ::google::protobuf::int32 OperatorSetProto::ir_version() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.ir_version)
  return ir_version_;
}
inline void OperatorSetProto::set_ir_version(::google::protobuf::int32 value) {
  set_has_ir_version();
  ir_version_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.ir_version)
}

// optional string ir_version_prerelease = 3;
inline bool OperatorSetProto::has_ir_version_prerelease() const {
  return (_has_bits_[0] & 0x00000002u) != 0;
}
inline void OperatorSetProto::set_has_ir_version_prerelease() {
  _has_bits_[0] |= 0x00000002u;
}
inline void OperatorSetProto::clear_has_ir_version_prerelease() {
  _has_bits_[0] &= ~0x00000002u;
}
inline void OperatorSetProto::clear_ir_version_prerelease() {
  ir_version_prerelease_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_ir_version_prerelease();
}
inline const ::std::string& OperatorSetProto::ir_version_prerelease() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.ir_version_prerelease)
  return ir_version_prerelease_.GetNoArena();
}
inline void OperatorSetProto::set_ir_version_prerelease(const ::std::string& value) {
  set_has_ir_version_prerelease();
  ir_version_prerelease_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.ir_version_prerelease)
}
#if LANG_CXX11
inline void OperatorSetProto::set_ir_version_prerelease(::std::string&& value) {
  set_has_ir_version_prerelease();
  ir_version_prerelease_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorSetProto.ir_version_prerelease)
}
#endif
inline void OperatorSetProto::set_ir_version_prerelease(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_ir_version_prerelease();
  ir_version_prerelease_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorSetProto.ir_version_prerelease)
}
inline void OperatorSetProto::set_ir_version_prerelease(const char* value, size_t size) {
  set_has_ir_version_prerelease();
  ir_version_prerelease_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorSetProto.ir_version_prerelease)
}
inline ::std::string* OperatorSetProto::mutable_ir_version_prerelease() {
  set_has_ir_version_prerelease();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.ir_version_prerelease)
  return ir_version_prerelease_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorSetProto::release_ir_version_prerelease() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorSetProto.ir_version_prerelease)
  clear_has_ir_version_prerelease();
  return ir_version_prerelease_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorSetProto::set_allocated_ir_version_prerelease(::std::string* ir_version_prerelease) {
  if (ir_version_prerelease != NULL) {
    set_has_ir_version_prerelease();
  } else {
    clear_has_ir_version_prerelease();
  }
  ir_version_prerelease_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), ir_version_prerelease);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorSetProto.ir_version_prerelease)
}

// optional string ir_build_metadata = 7;
inline bool OperatorSetProto::has_ir_build_metadata() const {
  return (_has_bits_[0] & 0x00000010u) != 0;
}
inline void OperatorSetProto::set_has_ir_build_metadata() {
  _has_bits_[0] |= 0x00000010u;
}
inline void OperatorSetProto::clear_has_ir_build_metadata() {
  _has_bits_[0] &= ~0x00000010u;
}
inline void OperatorSetProto::clear_ir_build_metadata() {
  ir_build_metadata_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_ir_build_metadata();
}
inline const ::std::string& OperatorSetProto::ir_build_metadata() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.ir_build_metadata)
  return ir_build_metadata_.GetNoArena();
}
inline void OperatorSetProto::set_ir_build_metadata(const ::std::string& value) {
  set_has_ir_build_metadata();
  ir_build_metadata_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.ir_build_metadata)
}
#if LANG_CXX11
inline void OperatorSetProto::set_ir_build_metadata(::std::string&& value) {
  set_has_ir_build_metadata();
  ir_build_metadata_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorSetProto.ir_build_metadata)
}
#endif
inline void OperatorSetProto::set_ir_build_metadata(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_ir_build_metadata();
  ir_build_metadata_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorSetProto.ir_build_metadata)
}
inline void OperatorSetProto::set_ir_build_metadata(const char* value, size_t size) {
  set_has_ir_build_metadata();
  ir_build_metadata_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorSetProto.ir_build_metadata)
}
inline ::std::string* OperatorSetProto::mutable_ir_build_metadata() {
  set_has_ir_build_metadata();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.ir_build_metadata)
  return ir_build_metadata_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorSetProto::release_ir_build_metadata() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorSetProto.ir_build_metadata)
  clear_has_ir_build_metadata();
  return ir_build_metadata_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorSetProto::set_allocated_ir_build_metadata(::std::string* ir_build_metadata) {
  if (ir_build_metadata != NULL) {
    set_has_ir_build_metadata();
  } else {
    clear_has_ir_build_metadata();
  }
  ir_build_metadata_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), ir_build_metadata);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorSetProto.ir_build_metadata)
}

// optional string domain = 4;
inline bool OperatorSetProto::has_domain() const {
  return (_has_bits_[0] & 0x00000004u) != 0;
}
inline void OperatorSetProto::set_has_domain() {
  _has_bits_[0] |= 0x00000004u;
}
inline void OperatorSetProto::clear_has_domain() {
  _has_bits_[0] &= ~0x00000004u;
}
inline void OperatorSetProto::clear_domain() {
  domain_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_domain();
}
inline const ::std::string& OperatorSetProto::domain() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.domain)
  return domain_.GetNoArena();
}
inline void OperatorSetProto::set_domain(const ::std::string& value) {
  set_has_domain();
  domain_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.domain)
}
#if LANG_CXX11
inline void OperatorSetProto::set_domain(::std::string&& value) {
  set_has_domain();
  domain_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorSetProto.domain)
}
#endif
inline void OperatorSetProto::set_domain(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_domain();
  domain_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorSetProto.domain)
}
inline void OperatorSetProto::set_domain(const char* value, size_t size) {
  set_has_domain();
  domain_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorSetProto.domain)
}
inline ::std::string* OperatorSetProto::mutable_domain() {
  set_has_domain();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.domain)
  return domain_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorSetProto::release_domain() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorSetProto.domain)
  clear_has_domain();
  return domain_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorSetProto::set_allocated_domain(::std::string* domain) {
  if (domain != NULL) {
    set_has_domain();
  } else {
    clear_has_domain();
  }
  domain_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), domain);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorSetProto.domain)
}

// optional int64 opset_version = 5;
inline bool OperatorSetProto::has_opset_version() const {
  return (_has_bits_[0] & 0x00000020u) != 0;
}
inline void OperatorSetProto::set_has_opset_version() {
  _has_bits_[0] |= 0x00000020u;
}
inline void OperatorSetProto::clear_has_opset_version() {
  _has_bits_[0] &= ~0x00000020u;
}
inline void OperatorSetProto::clear_opset_version() {
  opset_version_ = GOOGLE_LONGLONG(0);
  clear_has_opset_version();
}
inline ::google::protobuf::int64 OperatorSetProto::opset_version() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.opset_version)
  return opset_version_;
}
inline void OperatorSetProto::set_opset_version(::google::protobuf::int64 value) {
  set_has_opset_version();
  opset_version_ = value;
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.opset_version)
}

// optional string doc_string = 6;
inline bool OperatorSetProto::has_doc_string() const {
  return (_has_bits_[0] & 0x00000008u) != 0;
}
inline void OperatorSetProto::set_has_doc_string() {
  _has_bits_[0] |= 0x00000008u;
}
inline void OperatorSetProto::clear_has_doc_string() {
  _has_bits_[0] &= ~0x00000008u;
}
inline void OperatorSetProto::clear_doc_string() {
  doc_string_.ClearToEmptyNoArena(&GetEmptyStringAlreadyInited());
  clear_has_doc_string();
}
inline const ::std::string& OperatorSetProto::doc_string() const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.doc_string)
  return doc_string_.GetNoArena();
}
inline void OperatorSetProto::set_doc_string(const ::std::string& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), value);
  // @@protoc_insertion_point(field_set:onnx_c2.OperatorSetProto.doc_string)
}
#if LANG_CXX11
inline void OperatorSetProto::set_doc_string(::std::string&& value) {
  set_has_doc_string();
  doc_string_.SetNoArena(
    &GetEmptyStringAlreadyInited(), ::std::move(value));
  // @@protoc_insertion_point(field_set_rvalue:onnx_c2.OperatorSetProto.doc_string)
}
#endif
inline void OperatorSetProto::set_doc_string(const char* value) {
  GOOGLE_DCHECK(value != NULL);
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(), ::std::string(value));
  // @@protoc_insertion_point(field_set_char:onnx_c2.OperatorSetProto.doc_string)
}
inline void OperatorSetProto::set_doc_string(const char* value, size_t size) {
  set_has_doc_string();
  doc_string_.SetNoArena(&GetEmptyStringAlreadyInited(),
      ::std::string(reinterpret_cast<const char*>(value), size));
  // @@protoc_insertion_point(field_set_pointer:onnx_c2.OperatorSetProto.doc_string)
}
inline ::std::string* OperatorSetProto::mutable_doc_string() {
  set_has_doc_string();
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.doc_string)
  return doc_string_.MutableNoArena(&GetEmptyStringAlreadyInited());
}
inline ::std::string* OperatorSetProto::release_doc_string() {
  // @@protoc_insertion_point(field_release:onnx_c2.OperatorSetProto.doc_string)
  clear_has_doc_string();
  return doc_string_.ReleaseNoArena(&GetEmptyStringAlreadyInited());
}
inline void OperatorSetProto::set_allocated_doc_string(::std::string* doc_string) {
  if (doc_string != NULL) {
    set_has_doc_string();
  } else {
    clear_has_doc_string();
  }
  doc_string_.SetAllocatedNoArena(&GetEmptyStringAlreadyInited(), doc_string);
  // @@protoc_insertion_point(field_set_allocated:onnx_c2.OperatorSetProto.doc_string)
}

// repeated .onnx_c2.OperatorProto operator = 8;
inline int OperatorSetProto::operator__size() const {
  return operator__.size();
}
inline void OperatorSetProto::clear_operator_() {
  operator__.Clear();
}
inline const ::onnx_c2::OperatorProto& OperatorSetProto::operator_(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.operator)
  return operator__.Get(index);
}
inline ::onnx_c2::OperatorProto* OperatorSetProto::mutable_operator_(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.operator)
  return operator__.Mutable(index);
}
inline ::onnx_c2::OperatorProto* OperatorSetProto::add_operator_() {
  // @@protoc_insertion_point(field_add:onnx_c2.OperatorSetProto.operator)
  return operator__.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::onnx_c2::OperatorProto >*
OperatorSetProto::mutable_operator_() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.OperatorSetProto.operator)
  return &operator__;
}
inline const ::google::protobuf::RepeatedPtrField< ::onnx_c2::OperatorProto >&
OperatorSetProto::operator_() const {
  // @@protoc_insertion_point(field_list:onnx_c2.OperatorSetProto.operator)
  return operator__;
}

// repeated .onnx_c2.FunctionProto functions = 9;
inline int OperatorSetProto::functions_size() const {
  return functions_.size();
}
inline void OperatorSetProto::clear_functions() {
  functions_.Clear();
}
inline const ::onnx_c2::FunctionProto& OperatorSetProto::functions(int index) const {
  // @@protoc_insertion_point(field_get:onnx_c2.OperatorSetProto.functions)
  return functions_.Get(index);
}
inline ::onnx_c2::FunctionProto* OperatorSetProto::mutable_functions(int index) {
  // @@protoc_insertion_point(field_mutable:onnx_c2.OperatorSetProto.functions)
  return functions_.Mutable(index);
}
inline ::onnx_c2::FunctionProto* OperatorSetProto::add_functions() {
  // @@protoc_insertion_point(field_add:onnx_c2.OperatorSetProto.functions)
  return functions_.Add();
}
inline ::google::protobuf::RepeatedPtrField< ::onnx_c2::FunctionProto >*
OperatorSetProto::mutable_functions() {
  // @@protoc_insertion_point(field_mutable_list:onnx_c2.OperatorSetProto.functions)
  return &functions_;
}
inline const ::google::protobuf::RepeatedPtrField< ::onnx_c2::FunctionProto >&
OperatorSetProto::functions() const {
  // @@protoc_insertion_point(field_list:onnx_c2.OperatorSetProto.functions)
  return functions_;
}

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace onnx_c2

namespace google {
namespace protobuf {

template <> struct is_proto_enum< ::onnx_c2::OperatorStatus> : ::google::protobuf::internal::true_type {};
template <>
inline const EnumDescriptor* GetEnumDescriptor< ::onnx_c2::OperatorStatus>() {
  return ::onnx_c2::OperatorStatus_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_onnx_2fonnx_2doperators_5fonnx_5fc2_2eproto__INCLUDED
