Skip to content

File tensors_to_classification_calculator.pb.h

File List > calculators > tensor > tensors_to_classification_calculator.pb.h

Go to the documentation of this file

// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: mediapipe/calculators/tensor/tensors_to_classification_calculator.proto

#ifndef GOOGLE_PROTOBUF_INCLUDED_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto
#define GOOGLE_PROTOBUF_INCLUDED_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto

#include <limits>
#include <string>

#include <google/protobuf/port_def.inc>
#if PROTOBUF_VERSION < 3019000
#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 3019001 < PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers. Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/port_undef.inc>
#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata_lite.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/map.h>  // IWYU pragma: export
#include <google/protobuf/map_entry.h>
#include <google/protobuf/map_field_inl.h>
#include <google/protobuf/unknown_field_set.h>
#include "mediapipe/framework/calculator.pb.h"
#include "mediapipe/util/label_map.pb.h"
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
#define PROTOBUF_INTERNAL_EXPORT_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto
PROTOBUF_NAMESPACE_OPEN
namespace internal {
class AnyMetadata;
}  // namespace internal
PROTOBUF_NAMESPACE_CLOSE

// Internal implementation detail -- do not use these members.
struct TableStruct_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto {
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTableField entries[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::AuxiliaryParseTableField aux[]
    PROTOBUF_SECTION_VARIABLE(protodesc_cold);
  static const ::PROTOBUF_NAMESPACE_ID::internal::ParseTable schema[4]
    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 uint32_t offsets[];
};
extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto;
namespace mediapipe {
class TensorsToClassificationCalculatorOptions;
struct TensorsToClassificationCalculatorOptionsDefaultTypeInternal;
extern TensorsToClassificationCalculatorOptionsDefaultTypeInternal _TensorsToClassificationCalculatorOptions_default_instance_;
class TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse;
struct TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUseDefaultTypeInternal;
extern TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUseDefaultTypeInternal _TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse_default_instance_;
class TensorsToClassificationCalculatorOptions_LabelMap;
struct TensorsToClassificationCalculatorOptions_LabelMapDefaultTypeInternal;
extern TensorsToClassificationCalculatorOptions_LabelMapDefaultTypeInternal _TensorsToClassificationCalculatorOptions_LabelMap_default_instance_;
class TensorsToClassificationCalculatorOptions_LabelMap_Entry;
struct TensorsToClassificationCalculatorOptions_LabelMap_EntryDefaultTypeInternal;
extern TensorsToClassificationCalculatorOptions_LabelMap_EntryDefaultTypeInternal _TensorsToClassificationCalculatorOptions_LabelMap_Entry_default_instance_;
}  // namespace mediapipe
PROTOBUF_NAMESPACE_OPEN
template<> ::mediapipe::TensorsToClassificationCalculatorOptions* Arena::CreateMaybeMessage<::mediapipe::TensorsToClassificationCalculatorOptions>(Arena*);
template<> ::mediapipe::TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse* Arena::CreateMaybeMessage<::mediapipe::TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse>(Arena*);
template<> ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* Arena::CreateMaybeMessage<::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap>(Arena*);
template<> ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* Arena::CreateMaybeMessage<::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry>(Arena*);
PROTOBUF_NAMESPACE_CLOSE
namespace mediapipe {

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

class TensorsToClassificationCalculatorOptions_LabelMap_Entry final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry) */ {
 public:
  inline TensorsToClassificationCalculatorOptions_LabelMap_Entry() : TensorsToClassificationCalculatorOptions_LabelMap_Entry(nullptr) {}
  ~TensorsToClassificationCalculatorOptions_LabelMap_Entry() override;
  explicit constexpr TensorsToClassificationCalculatorOptions_LabelMap_Entry(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TensorsToClassificationCalculatorOptions_LabelMap_Entry& default_instance() {
    return *internal_default_instance();
  }
  static inline const TensorsToClassificationCalculatorOptions_LabelMap_Entry* internal_default_instance() {
    return reinterpret_cast<const TensorsToClassificationCalculatorOptions_LabelMap_Entry*>(
               &_TensorsToClassificationCalculatorOptions_LabelMap_Entry_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    0;

  friend void swap(TensorsToClassificationCalculatorOptions_LabelMap_Entry& a, TensorsToClassificationCalculatorOptions_LabelMap_Entry& b) {
    a.Swap(&b);
  }
  inline void Swap(TensorsToClassificationCalculatorOptions_LabelMap_Entry* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TensorsToClassificationCalculatorOptions_LabelMap_Entry* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

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

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TensorsToClassificationCalculatorOptions_LabelMap_Entry* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry";
  }
  protected:
  explicit TensorsToClassificationCalculatorOptions_LabelMap_Entry(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

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

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

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

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

  enum : int {
    kLabelFieldNumber = 2,
    kIdFieldNumber = 1,
  };
  // optional string label = 2;
  bool has_label() const;
  private:
  bool _internal_has_label() const;
  public:
  void clear_label();
  const std::string& label() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_label(ArgT0&& arg0, ArgT... args);
  std::string* mutable_label();
  PROTOBUF_NODISCARD std::string* release_label();
  void set_allocated_label(std::string* label);
  private:
  const std::string& _internal_label() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_label(const std::string& value);
  std::string* _internal_mutable_label();
  public:

  // optional int32 id = 1;
  bool has_id() const;
  private:
  bool _internal_has_id() const;
  public:
  void clear_id();
  int32_t id() const;
  void set_id(int32_t value);
  private:
  int32_t _internal_id() const;
  void _internal_set_id(int32_t value);
  public:

  // @@protoc_insertion_point(class_scope:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_;
  int32_t id_;
  friend struct ::TableStruct_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto;
};
// -------------------------------------------------------------------

class TensorsToClassificationCalculatorOptions_LabelMap final :
    public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap) */ {
 public:
  inline TensorsToClassificationCalculatorOptions_LabelMap() : TensorsToClassificationCalculatorOptions_LabelMap(nullptr) {}
  ~TensorsToClassificationCalculatorOptions_LabelMap() override;
  explicit constexpr TensorsToClassificationCalculatorOptions_LabelMap(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);

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

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

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TensorsToClassificationCalculatorOptions_LabelMap& default_instance() {
    return *internal_default_instance();
  }
  static inline const TensorsToClassificationCalculatorOptions_LabelMap* internal_default_instance() {
    return reinterpret_cast<const TensorsToClassificationCalculatorOptions_LabelMap*>(
               &_TensorsToClassificationCalculatorOptions_LabelMap_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    1;

  friend void swap(TensorsToClassificationCalculatorOptions_LabelMap& a, TensorsToClassificationCalculatorOptions_LabelMap& b) {
    a.Swap(&b);
  }
  inline void Swap(TensorsToClassificationCalculatorOptions_LabelMap* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TensorsToClassificationCalculatorOptions_LabelMap* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

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

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TensorsToClassificationCalculatorOptions_LabelMap* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.TensorsToClassificationCalculatorOptions.LabelMap";
  }
  protected:
  explicit TensorsToClassificationCalculatorOptions_LabelMap(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

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

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

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

  typedef TensorsToClassificationCalculatorOptions_LabelMap_Entry Entry;

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

  enum : int {
    kEntriesFieldNumber = 1,
  };
  // repeated .mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry entries = 1;
  int entries_size() const;
  private:
  int _internal_entries_size() const;
  public:
  void clear_entries();
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* mutable_entries(int index);
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry >*
      mutable_entries();
  private:
  const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry& _internal_entries(int index) const;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* _internal_add_entries();
  public:
  const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry& entries(int index) const;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* add_entries();
  const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry >&
      entries() const;

  // @@protoc_insertion_point(class_scope:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry > entries_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  friend struct ::TableStruct_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto;
};
// -------------------------------------------------------------------

class TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse : public ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse, 
    int64_t, ::mediapipe::LabelMapItem,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> {
public:
  typedef ::PROTOBUF_NAMESPACE_ID::internal::MapEntry<TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse, 
    int64_t, ::mediapipe::LabelMapItem,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> SuperType;
  TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse();
  explicit constexpr TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse(
      ::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
  explicit TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  void MergeFrom(const TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse& other);
  static const TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse* internal_default_instance() { return reinterpret_cast<const TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse*>(&_TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse_default_instance_); }
  static bool ValidateKey(void*) { return true; }
  static bool ValidateValue(void*) { return true; }
  using ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom;
  ::PROTOBUF_NAMESPACE_ID::Metadata GetMetadata() const final;
};

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

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

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

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

  inline const ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet& unknown_fields() const {
    return _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance);
  }
  inline ::PROTOBUF_NAMESPACE_ID::UnknownFieldSet* mutable_unknown_fields() {
    return _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
  }

  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* descriptor() {
    return GetDescriptor();
  }
  static const ::PROTOBUF_NAMESPACE_ID::Descriptor* GetDescriptor() {
    return default_instance().GetMetadata().descriptor;
  }
  static const ::PROTOBUF_NAMESPACE_ID::Reflection* GetReflection() {
    return default_instance().GetMetadata().reflection;
  }
  static const TensorsToClassificationCalculatorOptions& default_instance() {
    return *internal_default_instance();
  }
  static inline const TensorsToClassificationCalculatorOptions* internal_default_instance() {
    return reinterpret_cast<const TensorsToClassificationCalculatorOptions*>(
               &_TensorsToClassificationCalculatorOptions_default_instance_);
  }
  static constexpr int kIndexInFileMessages =
    3;

  friend void swap(TensorsToClassificationCalculatorOptions& a, TensorsToClassificationCalculatorOptions& b) {
    a.Swap(&b);
  }
  inline void Swap(TensorsToClassificationCalculatorOptions* other) {
    if (other == this) return;
  #ifdef PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() != nullptr &&
        GetOwningArena() == other->GetOwningArena()) {
   #else  // PROTOBUF_FORCE_COPY_IN_SWAP
    if (GetOwningArena() == other->GetOwningArena()) {
  #endif  // !PROTOBUF_FORCE_COPY_IN_SWAP
      InternalSwap(other);
    } else {
      ::PROTOBUF_NAMESPACE_ID::internal::GenericSwap(this, other);
    }
  }
  void UnsafeArenaSwap(TensorsToClassificationCalculatorOptions* other) {
    if (other == this) return;
    GOOGLE_DCHECK(GetOwningArena() == other->GetOwningArena());
    InternalSwap(other);
  }

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

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

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

  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const final;
  void InternalSwap(TensorsToClassificationCalculatorOptions* other);

  private:
  friend class ::PROTOBUF_NAMESPACE_ID::internal::AnyMetadata;
  static ::PROTOBUF_NAMESPACE_ID::StringPiece FullMessageName() {
    return "mediapipe.TensorsToClassificationCalculatorOptions";
  }
  protected:
  explicit TensorsToClassificationCalculatorOptions(::PROTOBUF_NAMESPACE_ID::Arena* arena,
                       bool is_message_owned = false);
  private:
  static void ArenaDtor(void* object);
  inline void RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena* arena);
  public:

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

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

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

  typedef TensorsToClassificationCalculatorOptions_LabelMap LabelMap;

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

  enum : int {
    kLabelItemsFieldNumber = 6,
    kIgnoreClassesFieldNumber = 7,
    kAllowClassesFieldNumber = 8,
    kLabelMapPathFieldNumber = 3,
    kLabelMapFieldNumber = 5,
    kMinScoreThresholdFieldNumber = 1,
    kTopKFieldNumber = 2,
    kSortByDescendingScoreFieldNumber = 9,
    kBinaryClassificationFieldNumber = 4,
  };
  // map<int64, .mediapipe.LabelMapItem> label_items = 6;
  int label_items_size() const;
  private:
  int _internal_label_items_size() const;
  public:
  void clear_label_items();
  private:
  const ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >&
      _internal_label_items() const;
  ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >*
      _internal_mutable_label_items();
  public:
  const ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >&
      label_items() const;
  ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >*
      mutable_label_items();

  // repeated int32 ignore_classes = 7 [packed = true];
  int ignore_classes_size() const;
  private:
  int _internal_ignore_classes_size() const;
  public:
  void clear_ignore_classes();
  private:
  int32_t _internal_ignore_classes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_ignore_classes() const;
  void _internal_add_ignore_classes(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_ignore_classes();
  public:
  int32_t ignore_classes(int index) const;
  void set_ignore_classes(int index, int32_t value);
  void add_ignore_classes(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      ignore_classes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_ignore_classes();

  // repeated int32 allow_classes = 8 [packed = true];
  int allow_classes_size() const;
  private:
  int _internal_allow_classes_size() const;
  public:
  void clear_allow_classes();
  private:
  int32_t _internal_allow_classes(int index) const;
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      _internal_allow_classes() const;
  void _internal_add_allow_classes(int32_t value);
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      _internal_mutable_allow_classes();
  public:
  int32_t allow_classes(int index) const;
  void set_allow_classes(int index, int32_t value);
  void add_allow_classes(int32_t value);
  const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
      allow_classes() const;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
      mutable_allow_classes();

  // optional string label_map_path = 3;
  bool has_label_map_path() const;
  private:
  bool _internal_has_label_map_path() const;
  public:
  void clear_label_map_path();
  const std::string& label_map_path() const;
  template <typename ArgT0 = const std::string&, typename... ArgT>
  void set_label_map_path(ArgT0&& arg0, ArgT... args);
  std::string* mutable_label_map_path();
  PROTOBUF_NODISCARD std::string* release_label_map_path();
  void set_allocated_label_map_path(std::string* label_map_path);
  private:
  const std::string& _internal_label_map_path() const;
  inline PROTOBUF_ALWAYS_INLINE void _internal_set_label_map_path(const std::string& value);
  std::string* _internal_mutable_label_map_path();
  public:

  // optional .mediapipe.TensorsToClassificationCalculatorOptions.LabelMap label_map = 5;
  bool has_label_map() const;
  private:
  bool _internal_has_label_map() const;
  public:
  void clear_label_map();
  const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap& label_map() const;
  PROTOBUF_NODISCARD ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* release_label_map();
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* mutable_label_map();
  void set_allocated_label_map(::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* label_map);
  private:
  const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap& _internal_label_map() const;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* _internal_mutable_label_map();
  public:
  void unsafe_arena_set_allocated_label_map(
      ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* label_map);
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* unsafe_arena_release_label_map();

  // optional float min_score_threshold = 1;
  bool has_min_score_threshold() const;
  private:
  bool _internal_has_min_score_threshold() const;
  public:
  void clear_min_score_threshold();
  float min_score_threshold() const;
  void set_min_score_threshold(float value);
  private:
  float _internal_min_score_threshold() const;
  void _internal_set_min_score_threshold(float value);
  public:

  // optional int32 top_k = 2;
  bool has_top_k() const;
  private:
  bool _internal_has_top_k() const;
  public:
  void clear_top_k();
  int32_t top_k() const;
  void set_top_k(int32_t value);
  private:
  int32_t _internal_top_k() const;
  void _internal_set_top_k(int32_t value);
  public:

  // optional bool sort_by_descending_score = 9;
  bool has_sort_by_descending_score() const;
  private:
  bool _internal_has_sort_by_descending_score() const;
  public:
  void clear_sort_by_descending_score();
  bool sort_by_descending_score() const;
  void set_sort_by_descending_score(bool value);
  private:
  bool _internal_sort_by_descending_score() const;
  void _internal_set_sort_by_descending_score(bool value);
  public:

  // optional bool binary_classification = 4;
  bool has_binary_classification() const;
  private:
  bool _internal_has_binary_classification() const;
  public:
  void clear_binary_classification();
  bool binary_classification() const;
  void set_binary_classification(bool value);
  private:
  bool _internal_binary_classification() const;
  void _internal_set_binary_classification(bool value);
  public:

  static const int kExtFieldNumber = 335742638;
  static ::PROTOBUF_NAMESPACE_ID::internal::ExtensionIdentifier< ::mediapipe::CalculatorOptions,
      ::PROTOBUF_NAMESPACE_ID::internal::MessageTypeTraits< ::mediapipe::TensorsToClassificationCalculatorOptions >, 11, false >
    ext;
  // @@protoc_insertion_point(class_scope:mediapipe.TensorsToClassificationCalculatorOptions)
 private:
  class _Internal;

  template <typename T> friend class ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper;
  typedef void InternalArenaConstructable_;
  typedef void DestructorSkippable_;
  ::PROTOBUF_NAMESPACE_ID::internal::HasBits<1> _has_bits_;
  mutable ::PROTOBUF_NAMESPACE_ID::internal::CachedSize _cached_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::MapField<
      TensorsToClassificationCalculatorOptions_LabelItemsEntry_DoNotUse,
      int64_t, ::mediapipe::LabelMapItem,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_INT64,
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::TYPE_MESSAGE> label_items_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > ignore_classes_;
  mutable std::atomic<int> _ignore_classes_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t > allow_classes_;
  mutable std::atomic<int> _allow_classes_cached_byte_size_;
  ::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr label_map_path_;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* label_map_;
  float min_score_threshold_;
  int32_t top_k_;
  bool sort_by_descending_score_;
  bool binary_classification_;
  friend struct ::TableStruct_mediapipe_2fcalculators_2ftensor_2ftensors_5fto_5fclassification_5fcalculator_2eproto;
};
// ===================================================================


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

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

// optional int32 id = 1;
inline bool TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_has_id() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions_LabelMap_Entry::has_id() const {
  return _internal_has_id();
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::clear_id() {
  id_ = 0;
  _has_bits_[0] &= ~0x00000002u;
}
inline int32_t TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_id() const {
  return id_;
}
inline int32_t TensorsToClassificationCalculatorOptions_LabelMap_Entry::id() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.id)
  return _internal_id();
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_set_id(int32_t value) {
  _has_bits_[0] |= 0x00000002u;
  id_ = value;
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::set_id(int32_t value) {
  _internal_set_id(value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.id)
}

// optional string label = 2;
inline bool TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_has_label() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions_LabelMap_Entry::has_label() const {
  return _internal_has_label();
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::clear_label() {
  label_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& TensorsToClassificationCalculatorOptions_LabelMap_Entry::label() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.label)
  return _internal_label();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TensorsToClassificationCalculatorOptions_LabelMap_Entry::set_label(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.label)
}
inline std::string* TensorsToClassificationCalculatorOptions_LabelMap_Entry::mutable_label() {
  std::string* _s = _internal_mutable_label();
  // @@protoc_insertion_point(field_mutable:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.label)
  return _s;
}
inline const std::string& TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_label() const {
  return label_.Get();
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_set_label(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  label_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* TensorsToClassificationCalculatorOptions_LabelMap_Entry::_internal_mutable_label() {
  _has_bits_[0] |= 0x00000001u;
  return label_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* TensorsToClassificationCalculatorOptions_LabelMap_Entry::release_label() {
  // @@protoc_insertion_point(field_release:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.label)
  if (!_internal_has_label()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = label_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (label_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void TensorsToClassificationCalculatorOptions_LabelMap_Entry::set_allocated_label(std::string* label) {
  if (label != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  label_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), label,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (label_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    label_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry.label)
}

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

// TensorsToClassificationCalculatorOptions_LabelMap

// repeated .mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.Entry entries = 1;
inline int TensorsToClassificationCalculatorOptions_LabelMap::_internal_entries_size() const {
  return entries_.size();
}
inline int TensorsToClassificationCalculatorOptions_LabelMap::entries_size() const {
  return _internal_entries_size();
}
inline void TensorsToClassificationCalculatorOptions_LabelMap::clear_entries() {
  entries_.Clear();
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* TensorsToClassificationCalculatorOptions_LabelMap::mutable_entries(int index) {
  // @@protoc_insertion_point(field_mutable:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.entries)
  return entries_.Mutable(index);
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry >*
TensorsToClassificationCalculatorOptions_LabelMap::mutable_entries() {
  // @@protoc_insertion_point(field_mutable_list:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.entries)
  return &entries_;
}
inline const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry& TensorsToClassificationCalculatorOptions_LabelMap::_internal_entries(int index) const {
  return entries_.Get(index);
}
inline const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry& TensorsToClassificationCalculatorOptions_LabelMap::entries(int index) const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.entries)
  return _internal_entries(index);
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* TensorsToClassificationCalculatorOptions_LabelMap::_internal_add_entries() {
  return entries_.Add();
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* TensorsToClassificationCalculatorOptions_LabelMap::add_entries() {
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry* _add = _internal_add_entries();
  // @@protoc_insertion_point(field_add:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.entries)
  return _add;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedPtrField< ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap_Entry >&
TensorsToClassificationCalculatorOptions_LabelMap::entries() const {
  // @@protoc_insertion_point(field_list:mediapipe.TensorsToClassificationCalculatorOptions.LabelMap.entries)
  return entries_;
}

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

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

// TensorsToClassificationCalculatorOptions

// optional float min_score_threshold = 1;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_min_score_threshold() const {
  bool value = (_has_bits_[0] & 0x00000004u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_min_score_threshold() const {
  return _internal_has_min_score_threshold();
}
inline void TensorsToClassificationCalculatorOptions::clear_min_score_threshold() {
  min_score_threshold_ = 0;
  _has_bits_[0] &= ~0x00000004u;
}
inline float TensorsToClassificationCalculatorOptions::_internal_min_score_threshold() const {
  return min_score_threshold_;
}
inline float TensorsToClassificationCalculatorOptions::min_score_threshold() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.min_score_threshold)
  return _internal_min_score_threshold();
}
inline void TensorsToClassificationCalculatorOptions::_internal_set_min_score_threshold(float value) {
  _has_bits_[0] |= 0x00000004u;
  min_score_threshold_ = value;
}
inline void TensorsToClassificationCalculatorOptions::set_min_score_threshold(float value) {
  _internal_set_min_score_threshold(value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.min_score_threshold)
}

// optional int32 top_k = 2;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_top_k() const {
  bool value = (_has_bits_[0] & 0x00000008u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_top_k() const {
  return _internal_has_top_k();
}
inline void TensorsToClassificationCalculatorOptions::clear_top_k() {
  top_k_ = 0;
  _has_bits_[0] &= ~0x00000008u;
}
inline int32_t TensorsToClassificationCalculatorOptions::_internal_top_k() const {
  return top_k_;
}
inline int32_t TensorsToClassificationCalculatorOptions::top_k() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.top_k)
  return _internal_top_k();
}
inline void TensorsToClassificationCalculatorOptions::_internal_set_top_k(int32_t value) {
  _has_bits_[0] |= 0x00000008u;
  top_k_ = value;
}
inline void TensorsToClassificationCalculatorOptions::set_top_k(int32_t value) {
  _internal_set_top_k(value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.top_k)
}

// optional bool sort_by_descending_score = 9;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_sort_by_descending_score() const {
  bool value = (_has_bits_[0] & 0x00000010u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_sort_by_descending_score() const {
  return _internal_has_sort_by_descending_score();
}
inline void TensorsToClassificationCalculatorOptions::clear_sort_by_descending_score() {
  sort_by_descending_score_ = false;
  _has_bits_[0] &= ~0x00000010u;
}
inline bool TensorsToClassificationCalculatorOptions::_internal_sort_by_descending_score() const {
  return sort_by_descending_score_;
}
inline bool TensorsToClassificationCalculatorOptions::sort_by_descending_score() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.sort_by_descending_score)
  return _internal_sort_by_descending_score();
}
inline void TensorsToClassificationCalculatorOptions::_internal_set_sort_by_descending_score(bool value) {
  _has_bits_[0] |= 0x00000010u;
  sort_by_descending_score_ = value;
}
inline void TensorsToClassificationCalculatorOptions::set_sort_by_descending_score(bool value) {
  _internal_set_sort_by_descending_score(value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.sort_by_descending_score)
}

// optional string label_map_path = 3;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_label_map_path() const {
  bool value = (_has_bits_[0] & 0x00000001u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_label_map_path() const {
  return _internal_has_label_map_path();
}
inline void TensorsToClassificationCalculatorOptions::clear_label_map_path() {
  label_map_path_.ClearToEmpty();
  _has_bits_[0] &= ~0x00000001u;
}
inline const std::string& TensorsToClassificationCalculatorOptions::label_map_path() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.label_map_path)
  return _internal_label_map_path();
}
template <typename ArgT0, typename... ArgT>
inline PROTOBUF_ALWAYS_INLINE
void TensorsToClassificationCalculatorOptions::set_label_map_path(ArgT0&& arg0, ArgT... args) {
 _has_bits_[0] |= 0x00000001u;
 label_map_path_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, static_cast<ArgT0 &&>(arg0), args..., GetArenaForAllocation());
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.label_map_path)
}
inline std::string* TensorsToClassificationCalculatorOptions::mutable_label_map_path() {
  std::string* _s = _internal_mutable_label_map_path();
  // @@protoc_insertion_point(field_mutable:mediapipe.TensorsToClassificationCalculatorOptions.label_map_path)
  return _s;
}
inline const std::string& TensorsToClassificationCalculatorOptions::_internal_label_map_path() const {
  return label_map_path_.Get();
}
inline void TensorsToClassificationCalculatorOptions::_internal_set_label_map_path(const std::string& value) {
  _has_bits_[0] |= 0x00000001u;
  label_map_path_.Set(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, value, GetArenaForAllocation());
}
inline std::string* TensorsToClassificationCalculatorOptions::_internal_mutable_label_map_path() {
  _has_bits_[0] |= 0x00000001u;
  return label_map_path_.Mutable(::PROTOBUF_NAMESPACE_ID::internal::ArenaStringPtr::EmptyDefault{}, GetArenaForAllocation());
}
inline std::string* TensorsToClassificationCalculatorOptions::release_label_map_path() {
  // @@protoc_insertion_point(field_release:mediapipe.TensorsToClassificationCalculatorOptions.label_map_path)
  if (!_internal_has_label_map_path()) {
    return nullptr;
  }
  _has_bits_[0] &= ~0x00000001u;
  auto* p = label_map_path_.ReleaseNonDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (label_map_path_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    label_map_path_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  return p;
}
inline void TensorsToClassificationCalculatorOptions::set_allocated_label_map_path(std::string* label_map_path) {
  if (label_map_path != nullptr) {
    _has_bits_[0] |= 0x00000001u;
  } else {
    _has_bits_[0] &= ~0x00000001u;
  }
  label_map_path_.SetAllocated(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), label_map_path,
      GetArenaForAllocation());
#ifdef PROTOBUF_FORCE_COPY_DEFAULT_STRING
  if (label_map_path_.IsDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited())) {
    label_map_path_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), "", GetArenaForAllocation());
  }
#endif // PROTOBUF_FORCE_COPY_DEFAULT_STRING
  // @@protoc_insertion_point(field_set_allocated:mediapipe.TensorsToClassificationCalculatorOptions.label_map_path)
}

// optional .mediapipe.TensorsToClassificationCalculatorOptions.LabelMap label_map = 5;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_label_map() const {
  bool value = (_has_bits_[0] & 0x00000002u) != 0;
  PROTOBUF_ASSUME(!value || label_map_ != nullptr);
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_label_map() const {
  return _internal_has_label_map();
}
inline void TensorsToClassificationCalculatorOptions::clear_label_map() {
  if (label_map_ != nullptr) label_map_->Clear();
  _has_bits_[0] &= ~0x00000002u;
}
inline const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap& TensorsToClassificationCalculatorOptions::_internal_label_map() const {
  const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* p = label_map_;
  return p != nullptr ? *p : reinterpret_cast<const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap&>(
      ::mediapipe::_TensorsToClassificationCalculatorOptions_LabelMap_default_instance_);
}
inline const ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap& TensorsToClassificationCalculatorOptions::label_map() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.label_map)
  return _internal_label_map();
}
inline void TensorsToClassificationCalculatorOptions::unsafe_arena_set_allocated_label_map(
    ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* label_map) {
  if (GetArenaForAllocation() == nullptr) {
    delete reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(label_map_);
  }
  label_map_ = label_map;
  if (label_map) {
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  // @@protoc_insertion_point(field_unsafe_arena_set_allocated:mediapipe.TensorsToClassificationCalculatorOptions.label_map)
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* TensorsToClassificationCalculatorOptions::release_label_map() {
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* temp = label_map_;
  label_map_ = nullptr;
#ifdef PROTOBUF_FORCE_COPY_IN_RELEASE
  auto* old =  reinterpret_cast<::PROTOBUF_NAMESPACE_ID::MessageLite*>(temp);
  temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  if (GetArenaForAllocation() == nullptr) { delete old; }
#else  // PROTOBUF_FORCE_COPY_IN_RELEASE
  if (GetArenaForAllocation() != nullptr) {
    temp = ::PROTOBUF_NAMESPACE_ID::internal::DuplicateIfNonNull(temp);
  }
#endif  // !PROTOBUF_FORCE_COPY_IN_RELEASE
  return temp;
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* TensorsToClassificationCalculatorOptions::unsafe_arena_release_label_map() {
  // @@protoc_insertion_point(field_release:mediapipe.TensorsToClassificationCalculatorOptions.label_map)
  _has_bits_[0] &= ~0x00000002u;
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* temp = label_map_;
  label_map_ = nullptr;
  return temp;
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* TensorsToClassificationCalculatorOptions::_internal_mutable_label_map() {
  _has_bits_[0] |= 0x00000002u;
  if (label_map_ == nullptr) {
    auto* p = CreateMaybeMessage<::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap>(GetArenaForAllocation());
    label_map_ = p;
  }
  return label_map_;
}
inline ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* TensorsToClassificationCalculatorOptions::mutable_label_map() {
  ::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* _msg = _internal_mutable_label_map();
  // @@protoc_insertion_point(field_mutable:mediapipe.TensorsToClassificationCalculatorOptions.label_map)
  return _msg;
}
inline void TensorsToClassificationCalculatorOptions::set_allocated_label_map(::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap* label_map) {
  ::PROTOBUF_NAMESPACE_ID::Arena* message_arena = GetArenaForAllocation();
  if (message_arena == nullptr) {
    delete label_map_;
  }
  if (label_map) {
    ::PROTOBUF_NAMESPACE_ID::Arena* submessage_arena =
        ::PROTOBUF_NAMESPACE_ID::Arena::InternalHelper<::mediapipe::TensorsToClassificationCalculatorOptions_LabelMap>::GetOwningArena(label_map);
    if (message_arena != submessage_arena) {
      label_map = ::PROTOBUF_NAMESPACE_ID::internal::GetOwnedMessage(
          message_arena, label_map, submessage_arena);
    }
    _has_bits_[0] |= 0x00000002u;
  } else {
    _has_bits_[0] &= ~0x00000002u;
  }
  label_map_ = label_map;
  // @@protoc_insertion_point(field_set_allocated:mediapipe.TensorsToClassificationCalculatorOptions.label_map)
}

// map<int64, .mediapipe.LabelMapItem> label_items = 6;
inline int TensorsToClassificationCalculatorOptions::_internal_label_items_size() const {
  return label_items_.size();
}
inline int TensorsToClassificationCalculatorOptions::label_items_size() const {
  return _internal_label_items_size();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >&
TensorsToClassificationCalculatorOptions::_internal_label_items() const {
  return label_items_.GetMap();
}
inline const ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >&
TensorsToClassificationCalculatorOptions::label_items() const {
  // @@protoc_insertion_point(field_map:mediapipe.TensorsToClassificationCalculatorOptions.label_items)
  return _internal_label_items();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >*
TensorsToClassificationCalculatorOptions::_internal_mutable_label_items() {
  return label_items_.MutableMap();
}
inline ::PROTOBUF_NAMESPACE_ID::Map< int64_t, ::mediapipe::LabelMapItem >*
TensorsToClassificationCalculatorOptions::mutable_label_items() {
  // @@protoc_insertion_point(field_mutable_map:mediapipe.TensorsToClassificationCalculatorOptions.label_items)
  return _internal_mutable_label_items();
}

// optional bool binary_classification = 4;
inline bool TensorsToClassificationCalculatorOptions::_internal_has_binary_classification() const {
  bool value = (_has_bits_[0] & 0x00000020u) != 0;
  return value;
}
inline bool TensorsToClassificationCalculatorOptions::has_binary_classification() const {
  return _internal_has_binary_classification();
}
inline void TensorsToClassificationCalculatorOptions::clear_binary_classification() {
  binary_classification_ = false;
  _has_bits_[0] &= ~0x00000020u;
}
inline bool TensorsToClassificationCalculatorOptions::_internal_binary_classification() const {
  return binary_classification_;
}
inline bool TensorsToClassificationCalculatorOptions::binary_classification() const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.binary_classification)
  return _internal_binary_classification();
}
inline void TensorsToClassificationCalculatorOptions::_internal_set_binary_classification(bool value) {
  _has_bits_[0] |= 0x00000020u;
  binary_classification_ = value;
}
inline void TensorsToClassificationCalculatorOptions::set_binary_classification(bool value) {
  _internal_set_binary_classification(value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.binary_classification)
}

// repeated int32 ignore_classes = 7 [packed = true];
inline int TensorsToClassificationCalculatorOptions::_internal_ignore_classes_size() const {
  return ignore_classes_.size();
}
inline int TensorsToClassificationCalculatorOptions::ignore_classes_size() const {
  return _internal_ignore_classes_size();
}
inline void TensorsToClassificationCalculatorOptions::clear_ignore_classes() {
  ignore_classes_.Clear();
}
inline int32_t TensorsToClassificationCalculatorOptions::_internal_ignore_classes(int index) const {
  return ignore_classes_.Get(index);
}
inline int32_t TensorsToClassificationCalculatorOptions::ignore_classes(int index) const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.ignore_classes)
  return _internal_ignore_classes(index);
}
inline void TensorsToClassificationCalculatorOptions::set_ignore_classes(int index, int32_t value) {
  ignore_classes_.Set(index, value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.ignore_classes)
}
inline void TensorsToClassificationCalculatorOptions::_internal_add_ignore_classes(int32_t value) {
  ignore_classes_.Add(value);
}
inline void TensorsToClassificationCalculatorOptions::add_ignore_classes(int32_t value) {
  _internal_add_ignore_classes(value);
  // @@protoc_insertion_point(field_add:mediapipe.TensorsToClassificationCalculatorOptions.ignore_classes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
TensorsToClassificationCalculatorOptions::_internal_ignore_classes() const {
  return ignore_classes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
TensorsToClassificationCalculatorOptions::ignore_classes() const {
  // @@protoc_insertion_point(field_list:mediapipe.TensorsToClassificationCalculatorOptions.ignore_classes)
  return _internal_ignore_classes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
TensorsToClassificationCalculatorOptions::_internal_mutable_ignore_classes() {
  return &ignore_classes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
TensorsToClassificationCalculatorOptions::mutable_ignore_classes() {
  // @@protoc_insertion_point(field_mutable_list:mediapipe.TensorsToClassificationCalculatorOptions.ignore_classes)
  return _internal_mutable_ignore_classes();
}

// repeated int32 allow_classes = 8 [packed = true];
inline int TensorsToClassificationCalculatorOptions::_internal_allow_classes_size() const {
  return allow_classes_.size();
}
inline int TensorsToClassificationCalculatorOptions::allow_classes_size() const {
  return _internal_allow_classes_size();
}
inline void TensorsToClassificationCalculatorOptions::clear_allow_classes() {
  allow_classes_.Clear();
}
inline int32_t TensorsToClassificationCalculatorOptions::_internal_allow_classes(int index) const {
  return allow_classes_.Get(index);
}
inline int32_t TensorsToClassificationCalculatorOptions::allow_classes(int index) const {
  // @@protoc_insertion_point(field_get:mediapipe.TensorsToClassificationCalculatorOptions.allow_classes)
  return _internal_allow_classes(index);
}
inline void TensorsToClassificationCalculatorOptions::set_allow_classes(int index, int32_t value) {
  allow_classes_.Set(index, value);
  // @@protoc_insertion_point(field_set:mediapipe.TensorsToClassificationCalculatorOptions.allow_classes)
}
inline void TensorsToClassificationCalculatorOptions::_internal_add_allow_classes(int32_t value) {
  allow_classes_.Add(value);
}
inline void TensorsToClassificationCalculatorOptions::add_allow_classes(int32_t value) {
  _internal_add_allow_classes(value);
  // @@protoc_insertion_point(field_add:mediapipe.TensorsToClassificationCalculatorOptions.allow_classes)
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
TensorsToClassificationCalculatorOptions::_internal_allow_classes() const {
  return allow_classes_;
}
inline const ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >&
TensorsToClassificationCalculatorOptions::allow_classes() const {
  // @@protoc_insertion_point(field_list:mediapipe.TensorsToClassificationCalculatorOptions.allow_classes)
  return _internal_allow_classes();
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
TensorsToClassificationCalculatorOptions::_internal_mutable_allow_classes() {
  return &allow_classes_;
}
inline ::PROTOBUF_NAMESPACE_ID::RepeatedField< int32_t >*
TensorsToClassificationCalculatorOptions::mutable_allow_classes() {
  // @@protoc_insertion_point(field_mutable_list:mediapipe.TensorsToClassificationCalculatorOptions.allow_classes)
  return _internal_mutable_allow_classes();
}

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

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

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


// @@protoc_insertion_point(namespace_scope)

}  // namespace mediapipe

// @@protoc_insertion_point(global_scope)

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