// automatically generated by the FlatBuffers compiler, do not modify

#ifndef FLATBUFFERS_GENERATED_DATATYPE_FASTLANES_H_
#define FLATBUFFERS_GENERATED_DATATYPE_FASTLANES_H_

#include "flatbuffers/flatbuffers.h"

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && FLATBUFFERS_VERSION_MINOR == 2 && FLATBUFFERS_VERSION_REVISION == 10,
              "Non-compatible flatbuffers version included");

namespace fastlanes {

enum class DataType : uint8_t {
	INVALID    = 0,
	DOUBLE     = 1,
	INT8       = 2,
	INT16      = 3,
	INT32      = 4,
	INT64      = 5,
	UINT8      = 6,
	UINT16     = 7,
	UINT32     = 8,
	UINT64     = 9,
	STR        = 10,
	BOOLEAN    = 11,
	DATE       = 12,
	FLOAT      = 13,
	BYTE_ARRAY = 14,
	LIST       = 15,
	STRUCT     = 16,
	MAP        = 17,
	FALLBACK   = 18,
	FLS_STR    = 19,
	DECIMAL    = 20
};

inline const DataType (&EnumValuesDataType())[21] {
	static const DataType values[] = {DataType::INVALID, DataType::DOUBLE, DataType::INT8,       DataType::INT16,
	                                  DataType::INT32,   DataType::INT64,  DataType::UINT8,      DataType::UINT16,
	                                  DataType::UINT32,  DataType::UINT64, DataType::STR,        DataType::BOOLEAN,
	                                  DataType::DATE,    DataType::FLOAT,  DataType::BYTE_ARRAY, DataType::LIST,
	                                  DataType::STRUCT,  DataType::MAP,    DataType::FALLBACK,   DataType::FLS_STR,
	                                  DataType::DECIMAL};
	return values;
}

inline const char* const* EnumNamesDataType() {
	static const char* const names[22] = {"INVALID",  "DOUBLE",  "INT8",       "INT16",  "INT32",  "INT64",
	                                      "UINT8",    "UINT16",  "UINT32",     "UINT64", "STR",    "BOOLEAN",
	                                      "DATE",     "FLOAT",   "BYTE_ARRAY", "LIST",   "STRUCT", "MAP",
	                                      "FALLBACK", "FLS_STR", "DECIMAL",    nullptr};
	return names;
}

inline const char* EnumNameDataType(DataType e) {
	if (::flatbuffers::IsOutRange(e, DataType::INVALID, DataType::DECIMAL))
		return "";
	const size_t index = static_cast<size_t>(e);
	return EnumNamesDataType()[index];
}

} // namespace fastlanes

#endif // FLATBUFFERS_GENERATED_DATATYPE_FASTLANES_H_
