// Generated by the protocol buffer compiler.  DO NOT EDIT!
// NO CHECKED-IN PROTOBUF GENCODE
// source: tensorflow/compiler/mlir/lite/types.proto
// Protobuf C++ Version: 6.31.1

#ifndef tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto_2epb_2eh
#define tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto_2epb_2eh

#include <limits>
#include <string>
#include <type_traits>
#include <utility>

#include "google/protobuf/runtime_version.h"
#if PROTOBUF_VERSION != 6031001
#error "Protobuf C++ gencode is built with an incompatible version of"
#error "Protobuf C++ headers/runtime. See"
#error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
#endif
#include "google/protobuf/io/coded_stream.h"
#include "google/protobuf/arena.h"
#include "google/protobuf/arenastring.h"
#include "google/protobuf/generated_message_tctable_decl.h"
#include "google/protobuf/generated_message_util.h"
#include "google/protobuf/metadata_lite.h"
#include "google/protobuf/generated_message_reflection.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"
// @@protoc_insertion_point(includes)

// Must be included last.
#include "google/protobuf/port_def.inc"

#define PROTOBUF_INTERNAL_EXPORT_tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto PROTOBUF_EXPORT

namespace google {
namespace protobuf {
namespace internal {
template <typename T>
::absl::string_view GetAnyMessageName();
}  // namespace internal
}  // namespace protobuf
}  // namespace google

// Internal implementation detail -- do not use these members.
struct PROTOBUF_EXPORT TableStruct_tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto {
  static const ::uint32_t offsets[];
};
extern "C" {
PROTOBUF_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto;
}  // extern "C"
namespace tflite {
enum IODataType : int;
PROTOBUF_EXPORT extern const uint32_t IODataType_internal_data_[];
}  // namespace tflite
namespace google {
namespace protobuf {
template <>
internal::EnumTraitsT<::tflite::IODataType_internal_data_>
    internal::EnumTraitsImpl::value<::tflite::IODataType>;
}  // namespace protobuf
}  // namespace google

namespace tflite {
enum IODataType : int {
  IO_DATA_TYPE_UNKNOWN = 0,
  FLOAT = 1,
  QUANTIZED_UINT8 = 2,
  INT32 = 3,
  INT64 = 4,
  STRING = 5,
  QUANTIZED_INT16 = 6,
  BOOL = 7,
  COMPLEX64 = 8,
  QUANTIZED_INT8 = 9,
  FLOAT16 = 10,
  FLOAT64 = 11,
  COMPLEX128 = 12,
  UINT64 = 13,
  RESOURCE = 14,
  VARIANT = 15,
  UINT32 = 16,
  UINT8 = 17,
  INT8 = 18,
  INT16 = 19,
  UINT16 = 20,
};

PROTOBUF_EXPORT extern const uint32_t IODataType_internal_data_[];
inline constexpr IODataType IODataType_MIN =
    static_cast<IODataType>(0);
inline constexpr IODataType IODataType_MAX =
    static_cast<IODataType>(20);
inline bool IODataType_IsValid(int value) {
  return 0 <= value && value <= 20;
}
inline constexpr int IODataType_ARRAYSIZE = 20 + 1;
PROTOBUF_EXPORT const ::google::protobuf::EnumDescriptor* PROTOBUF_NONNULL IODataType_descriptor();
template <typename T>
const ::std::string& IODataType_Name(T value) {
  static_assert(::std::is_same<T, IODataType>::value ||
                    ::std::is_integral<T>::value,
                "Incorrect type passed to IODataType_Name().");
  return IODataType_Name(static_cast<IODataType>(value));
}
template <>
inline const ::std::string& IODataType_Name(IODataType value) {
  return ::google::protobuf::internal::NameOfDenseEnum<IODataType_descriptor, 0, 20>(
      static_cast<int>(value));
}
inline bool IODataType_Parse(
    ::absl::string_view name, IODataType* PROTOBUF_NONNULL value) {
  return ::google::protobuf::internal::ParseNamedEnum<IODataType>(IODataType_descriptor(), name,
                                           value);
}

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



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




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


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

// @@protoc_insertion_point(namespace_scope)
}  // namespace tflite


namespace google {
namespace protobuf {

template <>
struct is_proto_enum<::tflite::IODataType> : std::true_type {};
template <>
inline const EnumDescriptor* PROTOBUF_NONNULL GetEnumDescriptor<::tflite::IODataType>() {
  return ::tflite::IODataType_descriptor();
}

}  // namespace protobuf
}  // namespace google

// @@protoc_insertion_point(global_scope)

#include "google/protobuf/port_undef.inc"

#endif  // tensorflow_2fcompiler_2fmlir_2flite_2ftypes_2eproto_2epb_2eh
