// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ #define FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_ #include "flatbuffers/flatbuffers.h" namespace tflite { struct CustomQuantization; struct CustomQuantizationBuilder; struct QuantizationParameters; struct QuantizationParametersBuilder; struct Int32Vector; struct Int32VectorBuilder; struct Uint16Vector; struct Uint16VectorBuilder; struct Uint8Vector; struct Uint8VectorBuilder; struct DimensionMetadata; struct DimensionMetadataBuilder; struct SparsityParameters; struct SparsityParametersBuilder; struct Tensor; struct TensorBuilder; struct Conv2DOptions; struct Conv2DOptionsBuilder; struct Pool2DOptions; struct Pool2DOptionsBuilder; struct DepthwiseConv2DOptions; struct DepthwiseConv2DOptionsBuilder; struct ConcatEmbeddingsOptions; struct ConcatEmbeddingsOptionsBuilder; struct LSHProjectionOptions; struct LSHProjectionOptionsBuilder; struct SVDFOptions; struct SVDFOptionsBuilder; struct RNNOptions; struct RNNOptionsBuilder; struct SequenceRNNOptions; struct SequenceRNNOptionsBuilder; struct BidirectionalSequenceRNNOptions; struct BidirectionalSequenceRNNOptionsBuilder; struct FullyConnectedOptions; struct FullyConnectedOptionsBuilder; struct SoftmaxOptions; struct SoftmaxOptionsBuilder; struct ConcatenationOptions; struct ConcatenationOptionsBuilder; struct AddOptions; struct AddOptionsBuilder; struct MulOptions; struct MulOptionsBuilder; struct L2NormOptions; struct L2NormOptionsBuilder; struct LocalResponseNormalizationOptions; struct LocalResponseNormalizationOptionsBuilder; struct LSTMOptions; struct LSTMOptionsBuilder; struct UnidirectionalSequenceLSTMOptions; struct UnidirectionalSequenceLSTMOptionsBuilder; struct BidirectionalSequenceLSTMOptions; struct BidirectionalSequenceLSTMOptionsBuilder; struct ResizeBilinearOptions; struct ResizeBilinearOptionsBuilder; struct ResizeNearestNeighborOptions; struct ResizeNearestNeighborOptionsBuilder; struct CallOptions; struct CallOptionsBuilder; struct PadOptions; struct PadOptionsBuilder; struct PadV2Options; struct PadV2OptionsBuilder; struct ReshapeOptions; struct ReshapeOptionsBuilder; struct SpaceToBatchNDOptions; struct SpaceToBatchNDOptionsBuilder; struct BatchToSpaceNDOptions; struct BatchToSpaceNDOptionsBuilder; struct SkipGramOptions; struct SkipGramOptionsBuilder; struct SpaceToDepthOptions; struct SpaceToDepthOptionsBuilder; struct DepthToSpaceOptions; struct DepthToSpaceOptionsBuilder; struct SubOptions; struct SubOptionsBuilder; struct DivOptions; struct DivOptionsBuilder; struct TopKV2Options; struct TopKV2OptionsBuilder; struct EmbeddingLookupSparseOptions; struct EmbeddingLookupSparseOptionsBuilder; struct GatherOptions; struct GatherOptionsBuilder; struct TransposeOptions; struct TransposeOptionsBuilder; struct ExpOptions; struct ExpOptionsBuilder; struct CosOptions; struct CosOptionsBuilder; struct ReducerOptions; struct ReducerOptionsBuilder; struct SqueezeOptions; struct SqueezeOptionsBuilder; struct SplitOptions; struct SplitOptionsBuilder; struct SplitVOptions; struct SplitVOptionsBuilder; struct StridedSliceOptions; struct StridedSliceOptionsBuilder; struct LogSoftmaxOptions; struct LogSoftmaxOptionsBuilder; struct CastOptions; struct CastOptionsBuilder; struct DequantizeOptions; struct DequantizeOptionsBuilder; struct MaximumMinimumOptions; struct MaximumMinimumOptionsBuilder; struct TileOptions; struct TileOptionsBuilder; struct ArgMaxOptions; struct ArgMaxOptionsBuilder; struct ArgMinOptions; struct ArgMinOptionsBuilder; struct GreaterOptions; struct GreaterOptionsBuilder; struct GreaterEqualOptions; struct GreaterEqualOptionsBuilder; struct LessOptions; struct LessOptionsBuilder; struct LessEqualOptions; struct LessEqualOptionsBuilder; struct NegOptions; struct NegOptionsBuilder; struct SelectOptions; struct SelectOptionsBuilder; struct SliceOptions; struct SliceOptionsBuilder; struct TransposeConvOptions; struct TransposeConvOptionsBuilder; struct ExpandDimsOptions; struct ExpandDimsOptionsBuilder; struct SparseToDenseOptions; struct SparseToDenseOptionsBuilder; struct EqualOptions; struct EqualOptionsBuilder; struct NotEqualOptions; struct NotEqualOptionsBuilder; struct ShapeOptions; struct ShapeOptionsBuilder; struct RankOptions; struct RankOptionsBuilder; struct PowOptions; struct PowOptionsBuilder; struct FakeQuantOptions; struct FakeQuantOptionsBuilder; struct PackOptions; struct PackOptionsBuilder; struct LogicalOrOptions; struct LogicalOrOptionsBuilder; struct OneHotOptions; struct OneHotOptionsBuilder; struct AbsOptions; struct AbsOptionsBuilder; struct HardSwishOptions; struct HardSwishOptionsBuilder; struct LogicalAndOptions; struct LogicalAndOptionsBuilder; struct LogicalNotOptions; struct LogicalNotOptionsBuilder; struct UnpackOptions; struct UnpackOptionsBuilder; struct FloorDivOptions; struct FloorDivOptionsBuilder; struct SquareOptions; struct SquareOptionsBuilder; struct ZerosLikeOptions; struct ZerosLikeOptionsBuilder; struct FillOptions; struct FillOptionsBuilder; struct FloorModOptions; struct FloorModOptionsBuilder; struct RangeOptions; struct RangeOptionsBuilder; struct LeakyReluOptions; struct LeakyReluOptionsBuilder; struct SquaredDifferenceOptions; struct SquaredDifferenceOptionsBuilder; struct MirrorPadOptions; struct MirrorPadOptionsBuilder; struct UniqueOptions; struct UniqueOptionsBuilder; struct ReverseV2Options; struct ReverseV2OptionsBuilder; struct AddNOptions; struct AddNOptionsBuilder; struct GatherNdOptions; struct GatherNdOptionsBuilder; struct WhereOptions; struct WhereOptionsBuilder; struct ReverseSequenceOptions; struct ReverseSequenceOptionsBuilder; struct MatrixDiagOptions; struct MatrixDiagOptionsBuilder; struct QuantizeOptions; struct QuantizeOptionsBuilder; struct MatrixSetDiagOptions; struct MatrixSetDiagOptionsBuilder; struct IfOptions; struct IfOptionsBuilder; struct WhileOptions; struct WhileOptionsBuilder; struct NonMaxSuppressionV4Options; struct NonMaxSuppressionV4OptionsBuilder; struct NonMaxSuppressionV5Options; struct NonMaxSuppressionV5OptionsBuilder; struct ScatterNdOptions; struct ScatterNdOptionsBuilder; struct SelectV2Options; struct SelectV2OptionsBuilder; struct DensifyOptions; struct DensifyOptionsBuilder; struct SegmentSumOptions; struct SegmentSumOptionsBuilder; struct BatchMatMulOptions; struct BatchMatMulOptionsBuilder; struct OperatorCode; struct OperatorCodeBuilder; struct Operator; struct OperatorBuilder; struct SubGraph; struct SubGraphBuilder; struct Buffer; struct BufferBuilder; struct Metadata; struct MetadataBuilder; struct Model; struct ModelBuilder; enum TensorType { TensorType_FLOAT32 = 0, TensorType_FLOAT16 = 1, TensorType_INT32 = 2, TensorType_UINT8 = 3, TensorType_INT64 = 4, TensorType_STRING = 5, TensorType_BOOL = 6, TensorType_INT16 = 7, TensorType_COMPLEX64 = 8, TensorType_INT8 = 9, TensorType_FLOAT64 = 10, TensorType_COMPLEX128 = 11, TensorType_MIN = TensorType_FLOAT32, TensorType_MAX = TensorType_COMPLEX128 }; inline const TensorType (&EnumValuesTensorType())[12] { static const TensorType values[] = { TensorType_FLOAT32, TensorType_FLOAT16, TensorType_INT32, TensorType_UINT8, TensorType_INT64, TensorType_STRING, TensorType_BOOL, TensorType_INT16, TensorType_COMPLEX64, TensorType_INT8, TensorType_FLOAT64, TensorType_COMPLEX128 }; return values; } inline const char * const *EnumNamesTensorType() { static const char * const names[13] = { "FLOAT32", "FLOAT16", "INT32", "UINT8", "INT64", "STRING", "BOOL", "INT16", "COMPLEX64", "INT8", "FLOAT64", "COMPLEX128", nullptr }; return names; } inline const char *EnumNameTensorType(TensorType e) { if (flatbuffers::IsOutRange(e, TensorType_FLOAT32, TensorType_COMPLEX128)) return ""; const size_t index = static_cast(e); return EnumNamesTensorType()[index]; } enum QuantizationDetails { QuantizationDetails_NONE = 0, QuantizationDetails_CustomQuantization = 1, QuantizationDetails_MIN = QuantizationDetails_NONE, QuantizationDetails_MAX = QuantizationDetails_CustomQuantization }; inline const QuantizationDetails (&EnumValuesQuantizationDetails())[2] { static const QuantizationDetails values[] = { QuantizationDetails_NONE, QuantizationDetails_CustomQuantization }; return values; } inline const char * const *EnumNamesQuantizationDetails() { static const char * const names[3] = { "NONE", "CustomQuantization", nullptr }; return names; } inline const char *EnumNameQuantizationDetails(QuantizationDetails e) { if (flatbuffers::IsOutRange(e, QuantizationDetails_NONE, QuantizationDetails_CustomQuantization)) return ""; const size_t index = static_cast(e); return EnumNamesQuantizationDetails()[index]; } template struct QuantizationDetailsTraits { static const QuantizationDetails enum_value = QuantizationDetails_NONE; }; template<> struct QuantizationDetailsTraits { static const QuantizationDetails enum_value = QuantizationDetails_CustomQuantization; }; bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type); bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum DimensionType { DimensionType_DENSE = 0, DimensionType_SPARSE_CSR = 1, DimensionType_MIN = DimensionType_DENSE, DimensionType_MAX = DimensionType_SPARSE_CSR }; inline const DimensionType (&EnumValuesDimensionType())[2] { static const DimensionType values[] = { DimensionType_DENSE, DimensionType_SPARSE_CSR }; return values; } inline const char * const *EnumNamesDimensionType() { static const char * const names[3] = { "DENSE", "SPARSE_CSR", nullptr }; return names; } inline const char *EnumNameDimensionType(DimensionType e) { if (flatbuffers::IsOutRange(e, DimensionType_DENSE, DimensionType_SPARSE_CSR)) return ""; const size_t index = static_cast(e); return EnumNamesDimensionType()[index]; } enum SparseIndexVector { SparseIndexVector_NONE = 0, SparseIndexVector_Int32Vector = 1, SparseIndexVector_Uint16Vector = 2, SparseIndexVector_Uint8Vector = 3, SparseIndexVector_MIN = SparseIndexVector_NONE, SparseIndexVector_MAX = SparseIndexVector_Uint8Vector }; inline const SparseIndexVector (&EnumValuesSparseIndexVector())[4] { static const SparseIndexVector values[] = { SparseIndexVector_NONE, SparseIndexVector_Int32Vector, SparseIndexVector_Uint16Vector, SparseIndexVector_Uint8Vector }; return values; } inline const char * const *EnumNamesSparseIndexVector() { static const char * const names[5] = { "NONE", "Int32Vector", "Uint16Vector", "Uint8Vector", nullptr }; return names; } inline const char *EnumNameSparseIndexVector(SparseIndexVector e) { if (flatbuffers::IsOutRange(e, SparseIndexVector_NONE, SparseIndexVector_Uint8Vector)) return ""; const size_t index = static_cast(e); return EnumNamesSparseIndexVector()[index]; } template struct SparseIndexVectorTraits { static const SparseIndexVector enum_value = SparseIndexVector_NONE; }; template<> struct SparseIndexVectorTraits { static const SparseIndexVector enum_value = SparseIndexVector_Int32Vector; }; template<> struct SparseIndexVectorTraits { static const SparseIndexVector enum_value = SparseIndexVector_Uint16Vector; }; template<> struct SparseIndexVectorTraits { static const SparseIndexVector enum_value = SparseIndexVector_Uint8Vector; }; bool VerifySparseIndexVector(flatbuffers::Verifier &verifier, const void *obj, SparseIndexVector type); bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum BuiltinOperator { BuiltinOperator_ADD = 0, BuiltinOperator_AVERAGE_POOL_2D = 1, BuiltinOperator_CONCATENATION = 2, BuiltinOperator_CONV_2D = 3, BuiltinOperator_DEPTHWISE_CONV_2D = 4, BuiltinOperator_DEPTH_TO_SPACE = 5, BuiltinOperator_DEQUANTIZE = 6, BuiltinOperator_EMBEDDING_LOOKUP = 7, BuiltinOperator_FLOOR = 8, BuiltinOperator_FULLY_CONNECTED = 9, BuiltinOperator_HASHTABLE_LOOKUP = 10, BuiltinOperator_L2_NORMALIZATION = 11, BuiltinOperator_L2_POOL_2D = 12, BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION = 13, BuiltinOperator_LOGISTIC = 14, BuiltinOperator_LSH_PROJECTION = 15, BuiltinOperator_LSTM = 16, BuiltinOperator_MAX_POOL_2D = 17, BuiltinOperator_MUL = 18, BuiltinOperator_RELU = 19, BuiltinOperator_RELU_N1_TO_1 = 20, BuiltinOperator_RELU6 = 21, BuiltinOperator_RESHAPE = 22, BuiltinOperator_RESIZE_BILINEAR = 23, BuiltinOperator_RNN = 24, BuiltinOperator_SOFTMAX = 25, BuiltinOperator_SPACE_TO_DEPTH = 26, BuiltinOperator_SVDF = 27, BuiltinOperator_TANH = 28, BuiltinOperator_CONCAT_EMBEDDINGS = 29, BuiltinOperator_SKIP_GRAM = 30, BuiltinOperator_CALL = 31, BuiltinOperator_CUSTOM = 32, BuiltinOperator_EMBEDDING_LOOKUP_SPARSE = 33, BuiltinOperator_PAD = 34, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN = 35, BuiltinOperator_GATHER = 36, BuiltinOperator_BATCH_TO_SPACE_ND = 37, BuiltinOperator_SPACE_TO_BATCH_ND = 38, BuiltinOperator_TRANSPOSE = 39, BuiltinOperator_MEAN = 40, BuiltinOperator_SUB = 41, BuiltinOperator_DIV = 42, BuiltinOperator_SQUEEZE = 43, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM = 44, BuiltinOperator_STRIDED_SLICE = 45, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN = 46, BuiltinOperator_EXP = 47, BuiltinOperator_TOPK_V2 = 48, BuiltinOperator_SPLIT = 49, BuiltinOperator_LOG_SOFTMAX = 50, BuiltinOperator_DELEGATE = 51, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM = 52, BuiltinOperator_CAST = 53, BuiltinOperator_PRELU = 54, BuiltinOperator_MAXIMUM = 55, BuiltinOperator_ARG_MAX = 56, BuiltinOperator_MINIMUM = 57, BuiltinOperator_LESS = 58, BuiltinOperator_NEG = 59, BuiltinOperator_PADV2 = 60, BuiltinOperator_GREATER = 61, BuiltinOperator_GREATER_EQUAL = 62, BuiltinOperator_LESS_EQUAL = 63, BuiltinOperator_SELECT = 64, BuiltinOperator_SLICE = 65, BuiltinOperator_SIN = 66, BuiltinOperator_TRANSPOSE_CONV = 67, BuiltinOperator_SPARSE_TO_DENSE = 68, BuiltinOperator_TILE = 69, BuiltinOperator_EXPAND_DIMS = 70, BuiltinOperator_EQUAL = 71, BuiltinOperator_NOT_EQUAL = 72, BuiltinOperator_LOG = 73, BuiltinOperator_SUM = 74, BuiltinOperator_SQRT = 75, BuiltinOperator_RSQRT = 76, BuiltinOperator_SHAPE = 77, BuiltinOperator_POW = 78, BuiltinOperator_ARG_MIN = 79, BuiltinOperator_FAKE_QUANT = 80, BuiltinOperator_REDUCE_PROD = 81, BuiltinOperator_REDUCE_MAX = 82, BuiltinOperator_PACK = 83, BuiltinOperator_LOGICAL_OR = 84, BuiltinOperator_ONE_HOT = 85, BuiltinOperator_LOGICAL_AND = 86, BuiltinOperator_LOGICAL_NOT = 87, BuiltinOperator_UNPACK = 88, BuiltinOperator_REDUCE_MIN = 89, BuiltinOperator_FLOOR_DIV = 90, BuiltinOperator_REDUCE_ANY = 91, BuiltinOperator_SQUARE = 92, BuiltinOperator_ZEROS_LIKE = 93, BuiltinOperator_FILL = 94, BuiltinOperator_FLOOR_MOD = 95, BuiltinOperator_RANGE = 96, BuiltinOperator_RESIZE_NEAREST_NEIGHBOR = 97, BuiltinOperator_LEAKY_RELU = 98, BuiltinOperator_SQUARED_DIFFERENCE = 99, BuiltinOperator_MIRROR_PAD = 100, BuiltinOperator_ABS = 101, BuiltinOperator_SPLIT_V = 102, BuiltinOperator_UNIQUE = 103, BuiltinOperator_CEIL = 104, BuiltinOperator_REVERSE_V2 = 105, BuiltinOperator_ADD_N = 106, BuiltinOperator_GATHER_ND = 107, BuiltinOperator_COS = 108, BuiltinOperator_WHERE = 109, BuiltinOperator_RANK = 110, BuiltinOperator_ELU = 111, BuiltinOperator_REVERSE_SEQUENCE = 112, BuiltinOperator_MATRIX_DIAG = 113, BuiltinOperator_QUANTIZE = 114, BuiltinOperator_MATRIX_SET_DIAG = 115, BuiltinOperator_ROUND = 116, BuiltinOperator_HARD_SWISH = 117, BuiltinOperator_IF = 118, BuiltinOperator_WHILE = 119, BuiltinOperator_NON_MAX_SUPPRESSION_V4 = 120, BuiltinOperator_NON_MAX_SUPPRESSION_V5 = 121, BuiltinOperator_SCATTER_ND = 122, BuiltinOperator_SELECT_V2 = 123, BuiltinOperator_DENSIFY = 124, BuiltinOperator_SEGMENT_SUM = 125, BuiltinOperator_BATCH_MATMUL = 126, BuiltinOperator_MIN = BuiltinOperator_ADD, BuiltinOperator_MAX = BuiltinOperator_BATCH_MATMUL }; inline const BuiltinOperator (&EnumValuesBuiltinOperator())[127] { static const BuiltinOperator values[] = { BuiltinOperator_ADD, BuiltinOperator_AVERAGE_POOL_2D, BuiltinOperator_CONCATENATION, BuiltinOperator_CONV_2D, BuiltinOperator_DEPTHWISE_CONV_2D, BuiltinOperator_DEPTH_TO_SPACE, BuiltinOperator_DEQUANTIZE, BuiltinOperator_EMBEDDING_LOOKUP, BuiltinOperator_FLOOR, BuiltinOperator_FULLY_CONNECTED, BuiltinOperator_HASHTABLE_LOOKUP, BuiltinOperator_L2_NORMALIZATION, BuiltinOperator_L2_POOL_2D, BuiltinOperator_LOCAL_RESPONSE_NORMALIZATION, BuiltinOperator_LOGISTIC, BuiltinOperator_LSH_PROJECTION, BuiltinOperator_LSTM, BuiltinOperator_MAX_POOL_2D, BuiltinOperator_MUL, BuiltinOperator_RELU, BuiltinOperator_RELU_N1_TO_1, BuiltinOperator_RELU6, BuiltinOperator_RESHAPE, BuiltinOperator_RESIZE_BILINEAR, BuiltinOperator_RNN, BuiltinOperator_SOFTMAX, BuiltinOperator_SPACE_TO_DEPTH, BuiltinOperator_SVDF, BuiltinOperator_TANH, BuiltinOperator_CONCAT_EMBEDDINGS, BuiltinOperator_SKIP_GRAM, BuiltinOperator_CALL, BuiltinOperator_CUSTOM, BuiltinOperator_EMBEDDING_LOOKUP_SPARSE, BuiltinOperator_PAD, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_RNN, BuiltinOperator_GATHER, BuiltinOperator_BATCH_TO_SPACE_ND, BuiltinOperator_SPACE_TO_BATCH_ND, BuiltinOperator_TRANSPOSE, BuiltinOperator_MEAN, BuiltinOperator_SUB, BuiltinOperator_DIV, BuiltinOperator_SQUEEZE, BuiltinOperator_UNIDIRECTIONAL_SEQUENCE_LSTM, BuiltinOperator_STRIDED_SLICE, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_RNN, BuiltinOperator_EXP, BuiltinOperator_TOPK_V2, BuiltinOperator_SPLIT, BuiltinOperator_LOG_SOFTMAX, BuiltinOperator_DELEGATE, BuiltinOperator_BIDIRECTIONAL_SEQUENCE_LSTM, BuiltinOperator_CAST, BuiltinOperator_PRELU, BuiltinOperator_MAXIMUM, BuiltinOperator_ARG_MAX, BuiltinOperator_MINIMUM, BuiltinOperator_LESS, BuiltinOperator_NEG, BuiltinOperator_PADV2, BuiltinOperator_GREATER, BuiltinOperator_GREATER_EQUAL, BuiltinOperator_LESS_EQUAL, BuiltinOperator_SELECT, BuiltinOperator_SLICE, BuiltinOperator_SIN, BuiltinOperator_TRANSPOSE_CONV, BuiltinOperator_SPARSE_TO_DENSE, BuiltinOperator_TILE, BuiltinOperator_EXPAND_DIMS, BuiltinOperator_EQUAL, BuiltinOperator_NOT_EQUAL, BuiltinOperator_LOG, BuiltinOperator_SUM, BuiltinOperator_SQRT, BuiltinOperator_RSQRT, BuiltinOperator_SHAPE, BuiltinOperator_POW, BuiltinOperator_ARG_MIN, BuiltinOperator_FAKE_QUANT, BuiltinOperator_REDUCE_PROD, BuiltinOperator_REDUCE_MAX, BuiltinOperator_PACK, BuiltinOperator_LOGICAL_OR, BuiltinOperator_ONE_HOT, BuiltinOperator_LOGICAL_AND, BuiltinOperator_LOGICAL_NOT, BuiltinOperator_UNPACK, BuiltinOperator_REDUCE_MIN, BuiltinOperator_FLOOR_DIV, BuiltinOperator_REDUCE_ANY, BuiltinOperator_SQUARE, BuiltinOperator_ZEROS_LIKE, BuiltinOperator_FILL, BuiltinOperator_FLOOR_MOD, BuiltinOperator_RANGE, BuiltinOperator_RESIZE_NEAREST_NEIGHBOR, BuiltinOperator_LEAKY_RELU, BuiltinOperator_SQUARED_DIFFERENCE, BuiltinOperator_MIRROR_PAD, BuiltinOperator_ABS, BuiltinOperator_SPLIT_V, BuiltinOperator_UNIQUE, BuiltinOperator_CEIL, BuiltinOperator_REVERSE_V2, BuiltinOperator_ADD_N, BuiltinOperator_GATHER_ND, BuiltinOperator_COS, BuiltinOperator_WHERE, BuiltinOperator_RANK, BuiltinOperator_ELU, BuiltinOperator_REVERSE_SEQUENCE, BuiltinOperator_MATRIX_DIAG, BuiltinOperator_QUANTIZE, BuiltinOperator_MATRIX_SET_DIAG, BuiltinOperator_ROUND, BuiltinOperator_HARD_SWISH, BuiltinOperator_IF, BuiltinOperator_WHILE, BuiltinOperator_NON_MAX_SUPPRESSION_V4, BuiltinOperator_NON_MAX_SUPPRESSION_V5, BuiltinOperator_SCATTER_ND, BuiltinOperator_SELECT_V2, BuiltinOperator_DENSIFY, BuiltinOperator_SEGMENT_SUM, BuiltinOperator_BATCH_MATMUL }; return values; } inline const char * const *EnumNamesBuiltinOperator() { static const char * const names[128] = { "ADD", "AVERAGE_POOL_2D", "CONCATENATION", "CONV_2D", "DEPTHWISE_CONV_2D", "DEPTH_TO_SPACE", "DEQUANTIZE", "EMBEDDING_LOOKUP", "FLOOR", "FULLY_CONNECTED", "HASHTABLE_LOOKUP", "L2_NORMALIZATION", "L2_POOL_2D", "LOCAL_RESPONSE_NORMALIZATION", "LOGISTIC", "LSH_PROJECTION", "LSTM", "MAX_POOL_2D", "MUL", "RELU", "RELU_N1_TO_1", "RELU6", "RESHAPE", "RESIZE_BILINEAR", "RNN", "SOFTMAX", "SPACE_TO_DEPTH", "SVDF", "TANH", "CONCAT_EMBEDDINGS", "SKIP_GRAM", "CALL", "CUSTOM", "EMBEDDING_LOOKUP_SPARSE", "PAD", "UNIDIRECTIONAL_SEQUENCE_RNN", "GATHER", "BATCH_TO_SPACE_ND", "SPACE_TO_BATCH_ND", "TRANSPOSE", "MEAN", "SUB", "DIV", "SQUEEZE", "UNIDIRECTIONAL_SEQUENCE_LSTM", "STRIDED_SLICE", "BIDIRECTIONAL_SEQUENCE_RNN", "EXP", "TOPK_V2", "SPLIT", "LOG_SOFTMAX", "DELEGATE", "BIDIRECTIONAL_SEQUENCE_LSTM", "CAST", "PRELU", "MAXIMUM", "ARG_MAX", "MINIMUM", "LESS", "NEG", "PADV2", "GREATER", "GREATER_EQUAL", "LESS_EQUAL", "SELECT", "SLICE", "SIN", "TRANSPOSE_CONV", "SPARSE_TO_DENSE", "TILE", "EXPAND_DIMS", "EQUAL", "NOT_EQUAL", "LOG", "SUM", "SQRT", "RSQRT", "SHAPE", "POW", "ARG_MIN", "FAKE_QUANT", "REDUCE_PROD", "REDUCE_MAX", "PACK", "LOGICAL_OR", "ONE_HOT", "LOGICAL_AND", "LOGICAL_NOT", "UNPACK", "REDUCE_MIN", "FLOOR_DIV", "REDUCE_ANY", "SQUARE", "ZEROS_LIKE", "FILL", "FLOOR_MOD", "RANGE", "RESIZE_NEAREST_NEIGHBOR", "LEAKY_RELU", "SQUARED_DIFFERENCE", "MIRROR_PAD", "ABS", "SPLIT_V", "UNIQUE", "CEIL", "REVERSE_V2", "ADD_N", "GATHER_ND", "COS", "WHERE", "RANK", "ELU", "REVERSE_SEQUENCE", "MATRIX_DIAG", "QUANTIZE", "MATRIX_SET_DIAG", "ROUND", "HARD_SWISH", "IF", "WHILE", "NON_MAX_SUPPRESSION_V4", "NON_MAX_SUPPRESSION_V5", "SCATTER_ND", "SELECT_V2", "DENSIFY", "SEGMENT_SUM", "BATCH_MATMUL", nullptr }; return names; } inline const char *EnumNameBuiltinOperator(BuiltinOperator e) { if (flatbuffers::IsOutRange(e, BuiltinOperator_ADD, BuiltinOperator_BATCH_MATMUL)) return ""; const size_t index = static_cast(e); return EnumNamesBuiltinOperator()[index]; } enum BuiltinOptions { BuiltinOptions_NONE = 0, BuiltinOptions_Conv2DOptions = 1, BuiltinOptions_DepthwiseConv2DOptions = 2, BuiltinOptions_ConcatEmbeddingsOptions = 3, BuiltinOptions_LSHProjectionOptions = 4, BuiltinOptions_Pool2DOptions = 5, BuiltinOptions_SVDFOptions = 6, BuiltinOptions_RNNOptions = 7, BuiltinOptions_FullyConnectedOptions = 8, BuiltinOptions_SoftmaxOptions = 9, BuiltinOptions_ConcatenationOptions = 10, BuiltinOptions_AddOptions = 11, BuiltinOptions_L2NormOptions = 12, BuiltinOptions_LocalResponseNormalizationOptions = 13, BuiltinOptions_LSTMOptions = 14, BuiltinOptions_ResizeBilinearOptions = 15, BuiltinOptions_CallOptions = 16, BuiltinOptions_ReshapeOptions = 17, BuiltinOptions_SkipGramOptions = 18, BuiltinOptions_SpaceToDepthOptions = 19, BuiltinOptions_EmbeddingLookupSparseOptions = 20, BuiltinOptions_MulOptions = 21, BuiltinOptions_PadOptions = 22, BuiltinOptions_GatherOptions = 23, BuiltinOptions_BatchToSpaceNDOptions = 24, BuiltinOptions_SpaceToBatchNDOptions = 25, BuiltinOptions_TransposeOptions = 26, BuiltinOptions_ReducerOptions = 27, BuiltinOptions_SubOptions = 28, BuiltinOptions_DivOptions = 29, BuiltinOptions_SqueezeOptions = 30, BuiltinOptions_SequenceRNNOptions = 31, BuiltinOptions_StridedSliceOptions = 32, BuiltinOptions_ExpOptions = 33, BuiltinOptions_TopKV2Options = 34, BuiltinOptions_SplitOptions = 35, BuiltinOptions_LogSoftmaxOptions = 36, BuiltinOptions_CastOptions = 37, BuiltinOptions_DequantizeOptions = 38, BuiltinOptions_MaximumMinimumOptions = 39, BuiltinOptions_ArgMaxOptions = 40, BuiltinOptions_LessOptions = 41, BuiltinOptions_NegOptions = 42, BuiltinOptions_PadV2Options = 43, BuiltinOptions_GreaterOptions = 44, BuiltinOptions_GreaterEqualOptions = 45, BuiltinOptions_LessEqualOptions = 46, BuiltinOptions_SelectOptions = 47, BuiltinOptions_SliceOptions = 48, BuiltinOptions_TransposeConvOptions = 49, BuiltinOptions_SparseToDenseOptions = 50, BuiltinOptions_TileOptions = 51, BuiltinOptions_ExpandDimsOptions = 52, BuiltinOptions_EqualOptions = 53, BuiltinOptions_NotEqualOptions = 54, BuiltinOptions_ShapeOptions = 55, BuiltinOptions_PowOptions = 56, BuiltinOptions_ArgMinOptions = 57, BuiltinOptions_FakeQuantOptions = 58, BuiltinOptions_PackOptions = 59, BuiltinOptions_LogicalOrOptions = 60, BuiltinOptions_OneHotOptions = 61, BuiltinOptions_LogicalAndOptions = 62, BuiltinOptions_LogicalNotOptions = 63, BuiltinOptions_UnpackOptions = 64, BuiltinOptions_FloorDivOptions = 65, BuiltinOptions_SquareOptions = 66, BuiltinOptions_ZerosLikeOptions = 67, BuiltinOptions_FillOptions = 68, BuiltinOptions_BidirectionalSequenceLSTMOptions = 69, BuiltinOptions_BidirectionalSequenceRNNOptions = 70, BuiltinOptions_UnidirectionalSequenceLSTMOptions = 71, BuiltinOptions_FloorModOptions = 72, BuiltinOptions_RangeOptions = 73, BuiltinOptions_ResizeNearestNeighborOptions = 74, BuiltinOptions_LeakyReluOptions = 75, BuiltinOptions_SquaredDifferenceOptions = 76, BuiltinOptions_MirrorPadOptions = 77, BuiltinOptions_AbsOptions = 78, BuiltinOptions_SplitVOptions = 79, BuiltinOptions_UniqueOptions = 80, BuiltinOptions_ReverseV2Options = 81, BuiltinOptions_AddNOptions = 82, BuiltinOptions_GatherNdOptions = 83, BuiltinOptions_CosOptions = 84, BuiltinOptions_WhereOptions = 85, BuiltinOptions_RankOptions = 86, BuiltinOptions_ReverseSequenceOptions = 87, BuiltinOptions_MatrixDiagOptions = 88, BuiltinOptions_QuantizeOptions = 89, BuiltinOptions_MatrixSetDiagOptions = 90, BuiltinOptions_HardSwishOptions = 91, BuiltinOptions_IfOptions = 92, BuiltinOptions_WhileOptions = 93, BuiltinOptions_DepthToSpaceOptions = 94, BuiltinOptions_NonMaxSuppressionV4Options = 95, BuiltinOptions_NonMaxSuppressionV5Options = 96, BuiltinOptions_ScatterNdOptions = 97, BuiltinOptions_SelectV2Options = 98, BuiltinOptions_DensifyOptions = 99, BuiltinOptions_SegmentSumOptions = 100, BuiltinOptions_BatchMatMulOptions = 101, BuiltinOptions_MIN = BuiltinOptions_NONE, BuiltinOptions_MAX = BuiltinOptions_BatchMatMulOptions }; inline const BuiltinOptions (&EnumValuesBuiltinOptions())[102] { static const BuiltinOptions values[] = { BuiltinOptions_NONE, BuiltinOptions_Conv2DOptions, BuiltinOptions_DepthwiseConv2DOptions, BuiltinOptions_ConcatEmbeddingsOptions, BuiltinOptions_LSHProjectionOptions, BuiltinOptions_Pool2DOptions, BuiltinOptions_SVDFOptions, BuiltinOptions_RNNOptions, BuiltinOptions_FullyConnectedOptions, BuiltinOptions_SoftmaxOptions, BuiltinOptions_ConcatenationOptions, BuiltinOptions_AddOptions, BuiltinOptions_L2NormOptions, BuiltinOptions_LocalResponseNormalizationOptions, BuiltinOptions_LSTMOptions, BuiltinOptions_ResizeBilinearOptions, BuiltinOptions_CallOptions, BuiltinOptions_ReshapeOptions, BuiltinOptions_SkipGramOptions, BuiltinOptions_SpaceToDepthOptions, BuiltinOptions_EmbeddingLookupSparseOptions, BuiltinOptions_MulOptions, BuiltinOptions_PadOptions, BuiltinOptions_GatherOptions, BuiltinOptions_BatchToSpaceNDOptions, BuiltinOptions_SpaceToBatchNDOptions, BuiltinOptions_TransposeOptions, BuiltinOptions_ReducerOptions, BuiltinOptions_SubOptions, BuiltinOptions_DivOptions, BuiltinOptions_SqueezeOptions, BuiltinOptions_SequenceRNNOptions, BuiltinOptions_StridedSliceOptions, BuiltinOptions_ExpOptions, BuiltinOptions_TopKV2Options, BuiltinOptions_SplitOptions, BuiltinOptions_LogSoftmaxOptions, BuiltinOptions_CastOptions, BuiltinOptions_DequantizeOptions, BuiltinOptions_MaximumMinimumOptions, BuiltinOptions_ArgMaxOptions, BuiltinOptions_LessOptions, BuiltinOptions_NegOptions, BuiltinOptions_PadV2Options, BuiltinOptions_GreaterOptions, BuiltinOptions_GreaterEqualOptions, BuiltinOptions_LessEqualOptions, BuiltinOptions_SelectOptions, BuiltinOptions_SliceOptions, BuiltinOptions_TransposeConvOptions, BuiltinOptions_SparseToDenseOptions, BuiltinOptions_TileOptions, BuiltinOptions_ExpandDimsOptions, BuiltinOptions_EqualOptions, BuiltinOptions_NotEqualOptions, BuiltinOptions_ShapeOptions, BuiltinOptions_PowOptions, BuiltinOptions_ArgMinOptions, BuiltinOptions_FakeQuantOptions, BuiltinOptions_PackOptions, BuiltinOptions_LogicalOrOptions, BuiltinOptions_OneHotOptions, BuiltinOptions_LogicalAndOptions, BuiltinOptions_LogicalNotOptions, BuiltinOptions_UnpackOptions, BuiltinOptions_FloorDivOptions, BuiltinOptions_SquareOptions, BuiltinOptions_ZerosLikeOptions, BuiltinOptions_FillOptions, BuiltinOptions_BidirectionalSequenceLSTMOptions, BuiltinOptions_BidirectionalSequenceRNNOptions, BuiltinOptions_UnidirectionalSequenceLSTMOptions, BuiltinOptions_FloorModOptions, BuiltinOptions_RangeOptions, BuiltinOptions_ResizeNearestNeighborOptions, BuiltinOptions_LeakyReluOptions, BuiltinOptions_SquaredDifferenceOptions, BuiltinOptions_MirrorPadOptions, BuiltinOptions_AbsOptions, BuiltinOptions_SplitVOptions, BuiltinOptions_UniqueOptions, BuiltinOptions_ReverseV2Options, BuiltinOptions_AddNOptions, BuiltinOptions_GatherNdOptions, BuiltinOptions_CosOptions, BuiltinOptions_WhereOptions, BuiltinOptions_RankOptions, BuiltinOptions_ReverseSequenceOptions, BuiltinOptions_MatrixDiagOptions, BuiltinOptions_QuantizeOptions, BuiltinOptions_MatrixSetDiagOptions, BuiltinOptions_HardSwishOptions, BuiltinOptions_IfOptions, BuiltinOptions_WhileOptions, BuiltinOptions_DepthToSpaceOptions, BuiltinOptions_NonMaxSuppressionV4Options, BuiltinOptions_NonMaxSuppressionV5Options, BuiltinOptions_ScatterNdOptions, BuiltinOptions_SelectV2Options, BuiltinOptions_DensifyOptions, BuiltinOptions_SegmentSumOptions, BuiltinOptions_BatchMatMulOptions }; return values; } inline const char * const *EnumNamesBuiltinOptions() { static const char * const names[103] = { "NONE", "Conv2DOptions", "DepthwiseConv2DOptions", "ConcatEmbeddingsOptions", "LSHProjectionOptions", "Pool2DOptions", "SVDFOptions", "RNNOptions", "FullyConnectedOptions", "SoftmaxOptions", "ConcatenationOptions", "AddOptions", "L2NormOptions", "LocalResponseNormalizationOptions", "LSTMOptions", "ResizeBilinearOptions", "CallOptions", "ReshapeOptions", "SkipGramOptions", "SpaceToDepthOptions", "EmbeddingLookupSparseOptions", "MulOptions", "PadOptions", "GatherOptions", "BatchToSpaceNDOptions", "SpaceToBatchNDOptions", "TransposeOptions", "ReducerOptions", "SubOptions", "DivOptions", "SqueezeOptions", "SequenceRNNOptions", "StridedSliceOptions", "ExpOptions", "TopKV2Options", "SplitOptions", "LogSoftmaxOptions", "CastOptions", "DequantizeOptions", "MaximumMinimumOptions", "ArgMaxOptions", "LessOptions", "NegOptions", "PadV2Options", "GreaterOptions", "GreaterEqualOptions", "LessEqualOptions", "SelectOptions", "SliceOptions", "TransposeConvOptions", "SparseToDenseOptions", "TileOptions", "ExpandDimsOptions", "EqualOptions", "NotEqualOptions", "ShapeOptions", "PowOptions", "ArgMinOptions", "FakeQuantOptions", "PackOptions", "LogicalOrOptions", "OneHotOptions", "LogicalAndOptions", "LogicalNotOptions", "UnpackOptions", "FloorDivOptions", "SquareOptions", "ZerosLikeOptions", "FillOptions", "BidirectionalSequenceLSTMOptions", "BidirectionalSequenceRNNOptions", "UnidirectionalSequenceLSTMOptions", "FloorModOptions", "RangeOptions", "ResizeNearestNeighborOptions", "LeakyReluOptions", "SquaredDifferenceOptions", "MirrorPadOptions", "AbsOptions", "SplitVOptions", "UniqueOptions", "ReverseV2Options", "AddNOptions", "GatherNdOptions", "CosOptions", "WhereOptions", "RankOptions", "ReverseSequenceOptions", "MatrixDiagOptions", "QuantizeOptions", "MatrixSetDiagOptions", "HardSwishOptions", "IfOptions", "WhileOptions", "DepthToSpaceOptions", "NonMaxSuppressionV4Options", "NonMaxSuppressionV5Options", "ScatterNdOptions", "SelectV2Options", "DensifyOptions", "SegmentSumOptions", "BatchMatMulOptions", nullptr }; return names; } inline const char *EnumNameBuiltinOptions(BuiltinOptions e) { if (flatbuffers::IsOutRange(e, BuiltinOptions_NONE, BuiltinOptions_BatchMatMulOptions)) return ""; const size_t index = static_cast(e); return EnumNamesBuiltinOptions()[index]; } template struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NONE; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_Conv2DOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DepthwiseConv2DOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ConcatEmbeddingsOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LSHProjectionOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_Pool2DOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SVDFOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_RNNOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FullyConnectedOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SoftmaxOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ConcatenationOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_AddOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_L2NormOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LocalResponseNormalizationOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LSTMOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ResizeBilinearOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_CallOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReshapeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SkipGramOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SpaceToDepthOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_EmbeddingLookupSparseOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MulOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PadOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GatherOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BatchToSpaceNDOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SpaceToBatchNDOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TransposeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReducerOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SubOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DivOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SqueezeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SequenceRNNOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_StridedSliceOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ExpOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TopKV2Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SplitOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogSoftmaxOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_CastOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DequantizeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MaximumMinimumOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ArgMaxOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LessOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NegOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PadV2Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GreaterOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GreaterEqualOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LessEqualOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SelectOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SliceOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TransposeConvOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SparseToDenseOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_TileOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ExpandDimsOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_EqualOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NotEqualOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ShapeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PowOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ArgMinOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FakeQuantOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_PackOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalOrOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_OneHotOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalAndOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LogicalNotOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_UnpackOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FloorDivOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SquareOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ZerosLikeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FillOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceLSTMOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BidirectionalSequenceRNNOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_UnidirectionalSequenceLSTMOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_FloorModOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_RangeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ResizeNearestNeighborOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_LeakyReluOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SquaredDifferenceOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MirrorPadOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_AbsOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SplitVOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_UniqueOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReverseV2Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_AddNOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_GatherNdOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_CosOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_WhereOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_RankOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ReverseSequenceOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MatrixDiagOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_QuantizeOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_MatrixSetDiagOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_HardSwishOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_IfOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_WhileOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DepthToSpaceOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV4Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_NonMaxSuppressionV5Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_ScatterNdOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SelectV2Options; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_DensifyOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_SegmentSumOptions; }; template<> struct BuiltinOptionsTraits { static const BuiltinOptions enum_value = BuiltinOptions_BatchMatMulOptions; }; bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type); bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types); enum Padding { Padding_SAME = 0, Padding_VALID = 1, Padding_MIN = Padding_SAME, Padding_MAX = Padding_VALID }; inline const Padding (&EnumValuesPadding())[2] { static const Padding values[] = { Padding_SAME, Padding_VALID }; return values; } inline const char * const *EnumNamesPadding() { static const char * const names[3] = { "SAME", "VALID", nullptr }; return names; } inline const char *EnumNamePadding(Padding e) { if (flatbuffers::IsOutRange(e, Padding_SAME, Padding_VALID)) return ""; const size_t index = static_cast(e); return EnumNamesPadding()[index]; } enum ActivationFunctionType { ActivationFunctionType_NONE = 0, ActivationFunctionType_RELU = 1, ActivationFunctionType_RELU_N1_TO_1 = 2, ActivationFunctionType_RELU6 = 3, ActivationFunctionType_TANH = 4, ActivationFunctionType_SIGN_BIT = 5, ActivationFunctionType_MIN = ActivationFunctionType_NONE, ActivationFunctionType_MAX = ActivationFunctionType_SIGN_BIT }; inline const ActivationFunctionType (&EnumValuesActivationFunctionType())[6] { static const ActivationFunctionType values[] = { ActivationFunctionType_NONE, ActivationFunctionType_RELU, ActivationFunctionType_RELU_N1_TO_1, ActivationFunctionType_RELU6, ActivationFunctionType_TANH, ActivationFunctionType_SIGN_BIT }; return values; } inline const char * const *EnumNamesActivationFunctionType() { static const char * const names[7] = { "NONE", "RELU", "RELU_N1_TO_1", "RELU6", "TANH", "SIGN_BIT", nullptr }; return names; } inline const char *EnumNameActivationFunctionType(ActivationFunctionType e) { if (flatbuffers::IsOutRange(e, ActivationFunctionType_NONE, ActivationFunctionType_SIGN_BIT)) return ""; const size_t index = static_cast(e); return EnumNamesActivationFunctionType()[index]; } enum LSHProjectionType { LSHProjectionType_UNKNOWN = 0, LSHProjectionType_SPARSE = 1, LSHProjectionType_DENSE = 2, LSHProjectionType_MIN = LSHProjectionType_UNKNOWN, LSHProjectionType_MAX = LSHProjectionType_DENSE }; inline const LSHProjectionType (&EnumValuesLSHProjectionType())[3] { static const LSHProjectionType values[] = { LSHProjectionType_UNKNOWN, LSHProjectionType_SPARSE, LSHProjectionType_DENSE }; return values; } inline const char * const *EnumNamesLSHProjectionType() { static const char * const names[4] = { "UNKNOWN", "SPARSE", "DENSE", nullptr }; return names; } inline const char *EnumNameLSHProjectionType(LSHProjectionType e) { if (flatbuffers::IsOutRange(e, LSHProjectionType_UNKNOWN, LSHProjectionType_DENSE)) return ""; const size_t index = static_cast(e); return EnumNamesLSHProjectionType()[index]; } enum FullyConnectedOptionsWeightsFormat { FullyConnectedOptionsWeightsFormat_DEFAULT = 0, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 = 1, FullyConnectedOptionsWeightsFormat_MIN = FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_MAX = FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 }; inline const FullyConnectedOptionsWeightsFormat (&EnumValuesFullyConnectedOptionsWeightsFormat())[2] { static const FullyConnectedOptionsWeightsFormat values[] = { FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8 }; return values; } inline const char * const *EnumNamesFullyConnectedOptionsWeightsFormat() { static const char * const names[3] = { "DEFAULT", "SHUFFLED4x16INT8", nullptr }; return names; } inline const char *EnumNameFullyConnectedOptionsWeightsFormat(FullyConnectedOptionsWeightsFormat e) { if (flatbuffers::IsOutRange(e, FullyConnectedOptionsWeightsFormat_DEFAULT, FullyConnectedOptionsWeightsFormat_SHUFFLED4x16INT8)) return ""; const size_t index = static_cast(e); return EnumNamesFullyConnectedOptionsWeightsFormat()[index]; } enum LSTMKernelType { LSTMKernelType_FULL = 0, LSTMKernelType_BASIC = 1, LSTMKernelType_MIN = LSTMKernelType_FULL, LSTMKernelType_MAX = LSTMKernelType_BASIC }; inline const LSTMKernelType (&EnumValuesLSTMKernelType())[2] { static const LSTMKernelType values[] = { LSTMKernelType_FULL, LSTMKernelType_BASIC }; return values; } inline const char * const *EnumNamesLSTMKernelType() { static const char * const names[3] = { "FULL", "BASIC", nullptr }; return names; } inline const char *EnumNameLSTMKernelType(LSTMKernelType e) { if (flatbuffers::IsOutRange(e, LSTMKernelType_FULL, LSTMKernelType_BASIC)) return ""; const size_t index = static_cast(e); return EnumNamesLSTMKernelType()[index]; } enum CombinerType { CombinerType_SUM = 0, CombinerType_MEAN = 1, CombinerType_SQRTN = 2, CombinerType_MIN = CombinerType_SUM, CombinerType_MAX = CombinerType_SQRTN }; inline const CombinerType (&EnumValuesCombinerType())[3] { static const CombinerType values[] = { CombinerType_SUM, CombinerType_MEAN, CombinerType_SQRTN }; return values; } inline const char * const *EnumNamesCombinerType() { static const char * const names[4] = { "SUM", "MEAN", "SQRTN", nullptr }; return names; } inline const char *EnumNameCombinerType(CombinerType e) { if (flatbuffers::IsOutRange(e, CombinerType_SUM, CombinerType_SQRTN)) return ""; const size_t index = static_cast(e); return EnumNamesCombinerType()[index]; } enum MirrorPadMode { MirrorPadMode_REFLECT = 0, MirrorPadMode_SYMMETRIC = 1, MirrorPadMode_MIN = MirrorPadMode_REFLECT, MirrorPadMode_MAX = MirrorPadMode_SYMMETRIC }; inline const MirrorPadMode (&EnumValuesMirrorPadMode())[2] { static const MirrorPadMode values[] = { MirrorPadMode_REFLECT, MirrorPadMode_SYMMETRIC }; return values; } inline const char * const *EnumNamesMirrorPadMode() { static const char * const names[3] = { "REFLECT", "SYMMETRIC", nullptr }; return names; } inline const char *EnumNameMirrorPadMode(MirrorPadMode e) { if (flatbuffers::IsOutRange(e, MirrorPadMode_REFLECT, MirrorPadMode_SYMMETRIC)) return ""; const size_t index = static_cast(e); return EnumNamesMirrorPadMode()[index]; } enum CustomOptionsFormat { CustomOptionsFormat_FLEXBUFFERS = 0, CustomOptionsFormat_MIN = CustomOptionsFormat_FLEXBUFFERS, CustomOptionsFormat_MAX = CustomOptionsFormat_FLEXBUFFERS }; inline const CustomOptionsFormat (&EnumValuesCustomOptionsFormat())[1] { static const CustomOptionsFormat values[] = { CustomOptionsFormat_FLEXBUFFERS }; return values; } inline const char * const *EnumNamesCustomOptionsFormat() { static const char * const names[2] = { "FLEXBUFFERS", nullptr }; return names; } inline const char *EnumNameCustomOptionsFormat(CustomOptionsFormat e) { if (flatbuffers::IsOutRange(e, CustomOptionsFormat_FLEXBUFFERS, CustomOptionsFormat_FLEXBUFFERS)) return ""; const size_t index = static_cast(e); return EnumNamesCustomOptionsFormat()[index]; } struct CustomQuantization FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef CustomQuantizationBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_CUSTOM = 4 }; const flatbuffers::Vector *custom() const { return GetPointer *>(VT_CUSTOM); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_CUSTOM) && verifier.VerifyVector(custom()) && verifier.EndTable(); } }; struct CustomQuantizationBuilder { typedef CustomQuantization Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_custom(flatbuffers::Offset> custom) { fbb_.AddOffset(CustomQuantization::VT_CUSTOM, custom); } explicit CustomQuantizationBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCustomQuantization( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> custom = 0) { CustomQuantizationBuilder builder_(_fbb); builder_.add_custom(custom); return builder_.Finish(); } inline flatbuffers::Offset CreateCustomQuantizationDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *custom = nullptr) { if (custom) { _fbb.ForceVectorAlignment(custom->size(), sizeof(uint8_t), 16); } auto custom__ = custom ? _fbb.CreateVector(*custom) : 0; return tflite::CreateCustomQuantization( _fbb, custom__); } struct QuantizationParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef QuantizationParametersBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_MIN = 4, VT_MAX = 6, VT_SCALE = 8, VT_ZERO_POINT = 10, VT_DETAILS_TYPE = 12, VT_DETAILS = 14, VT_QUANTIZED_DIMENSION = 16 }; const flatbuffers::Vector *min() const { return GetPointer *>(VT_MIN); } const flatbuffers::Vector *max() const { return GetPointer *>(VT_MAX); } const flatbuffers::Vector *scale() const { return GetPointer *>(VT_SCALE); } const flatbuffers::Vector *zero_point() const { return GetPointer *>(VT_ZERO_POINT); } tflite::QuantizationDetails details_type() const { return static_cast(GetField(VT_DETAILS_TYPE, 0)); } const void *details() const { return GetPointer(VT_DETAILS); } template const T *details_as() const; const tflite::CustomQuantization *details_as_CustomQuantization() const { return details_type() == tflite::QuantizationDetails_CustomQuantization ? static_cast(details()) : nullptr; } int32_t quantized_dimension() const { return GetField(VT_QUANTIZED_DIMENSION, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_MIN) && verifier.VerifyVector(min()) && VerifyOffset(verifier, VT_MAX) && verifier.VerifyVector(max()) && VerifyOffset(verifier, VT_SCALE) && verifier.VerifyVector(scale()) && VerifyOffset(verifier, VT_ZERO_POINT) && verifier.VerifyVector(zero_point()) && VerifyField(verifier, VT_DETAILS_TYPE) && VerifyOffset(verifier, VT_DETAILS) && VerifyQuantizationDetails(verifier, details(), details_type()) && VerifyField(verifier, VT_QUANTIZED_DIMENSION) && verifier.EndTable(); } }; template<> inline const tflite::CustomQuantization *QuantizationParameters::details_as() const { return details_as_CustomQuantization(); } struct QuantizationParametersBuilder { typedef QuantizationParameters Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_min(flatbuffers::Offset> min) { fbb_.AddOffset(QuantizationParameters::VT_MIN, min); } void add_max(flatbuffers::Offset> max) { fbb_.AddOffset(QuantizationParameters::VT_MAX, max); } void add_scale(flatbuffers::Offset> scale) { fbb_.AddOffset(QuantizationParameters::VT_SCALE, scale); } void add_zero_point(flatbuffers::Offset> zero_point) { fbb_.AddOffset(QuantizationParameters::VT_ZERO_POINT, zero_point); } void add_details_type(tflite::QuantizationDetails details_type) { fbb_.AddElement(QuantizationParameters::VT_DETAILS_TYPE, static_cast(details_type), 0); } void add_details(flatbuffers::Offset details) { fbb_.AddOffset(QuantizationParameters::VT_DETAILS, details); } void add_quantized_dimension(int32_t quantized_dimension) { fbb_.AddElement(QuantizationParameters::VT_QUANTIZED_DIMENSION, quantized_dimension, 0); } explicit QuantizationParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateQuantizationParameters( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> min = 0, flatbuffers::Offset> max = 0, flatbuffers::Offset> scale = 0, flatbuffers::Offset> zero_point = 0, tflite::QuantizationDetails details_type = tflite::QuantizationDetails_NONE, flatbuffers::Offset details = 0, int32_t quantized_dimension = 0) { QuantizationParametersBuilder builder_(_fbb); builder_.add_quantized_dimension(quantized_dimension); builder_.add_details(details); builder_.add_zero_point(zero_point); builder_.add_scale(scale); builder_.add_max(max); builder_.add_min(min); builder_.add_details_type(details_type); return builder_.Finish(); } inline flatbuffers::Offset CreateQuantizationParametersDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *min = nullptr, const std::vector *max = nullptr, const std::vector *scale = nullptr, const std::vector *zero_point = nullptr, tflite::QuantizationDetails details_type = tflite::QuantizationDetails_NONE, flatbuffers::Offset details = 0, int32_t quantized_dimension = 0) { auto min__ = min ? _fbb.CreateVector(*min) : 0; auto max__ = max ? _fbb.CreateVector(*max) : 0; auto scale__ = scale ? _fbb.CreateVector(*scale) : 0; auto zero_point__ = zero_point ? _fbb.CreateVector(*zero_point) : 0; return tflite::CreateQuantizationParameters( _fbb, min__, max__, scale__, zero_point__, details_type, details, quantized_dimension); } struct Int32Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Int32VectorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VALUES = 4 }; const flatbuffers::Vector *values() const { return GetPointer *>(VT_VALUES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_VALUES) && verifier.VerifyVector(values()) && verifier.EndTable(); } }; struct Int32VectorBuilder { typedef Int32Vector Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_values(flatbuffers::Offset> values) { fbb_.AddOffset(Int32Vector::VT_VALUES, values); } explicit Int32VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateInt32Vector( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> values = 0) { Int32VectorBuilder builder_(_fbb); builder_.add_values(values); return builder_.Finish(); } inline flatbuffers::Offset CreateInt32VectorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *values = nullptr) { auto values__ = values ? _fbb.CreateVector(*values) : 0; return tflite::CreateInt32Vector( _fbb, values__); } struct Uint16Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Uint16VectorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VALUES = 4 }; const flatbuffers::Vector *values() const { return GetPointer *>(VT_VALUES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_VALUES) && verifier.VerifyVector(values()) && verifier.EndTable(); } }; struct Uint16VectorBuilder { typedef Uint16Vector Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_values(flatbuffers::Offset> values) { fbb_.AddOffset(Uint16Vector::VT_VALUES, values); } explicit Uint16VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUint16Vector( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> values = 0) { Uint16VectorBuilder builder_(_fbb); builder_.add_values(values); return builder_.Finish(); } inline flatbuffers::Offset CreateUint16VectorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *values = nullptr) { if (values) { _fbb.ForceVectorAlignment(values->size(), sizeof(uint16_t), 4); } auto values__ = values ? _fbb.CreateVector(*values) : 0; return tflite::CreateUint16Vector( _fbb, values__); } struct Uint8Vector FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Uint8VectorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VALUES = 4 }; const flatbuffers::Vector *values() const { return GetPointer *>(VT_VALUES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_VALUES) && verifier.VerifyVector(values()) && verifier.EndTable(); } }; struct Uint8VectorBuilder { typedef Uint8Vector Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_values(flatbuffers::Offset> values) { fbb_.AddOffset(Uint8Vector::VT_VALUES, values); } explicit Uint8VectorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUint8Vector( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> values = 0) { Uint8VectorBuilder builder_(_fbb); builder_.add_values(values); return builder_.Finish(); } inline flatbuffers::Offset CreateUint8VectorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *values = nullptr) { if (values) { _fbb.ForceVectorAlignment(values->size(), sizeof(uint8_t), 4); } auto values__ = values ? _fbb.CreateVector(*values) : 0; return tflite::CreateUint8Vector( _fbb, values__); } struct DimensionMetadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DimensionMetadataBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FORMAT = 4, VT_DENSE_SIZE = 6, VT_ARRAY_SEGMENTS_TYPE = 8, VT_ARRAY_SEGMENTS = 10, VT_ARRAY_INDICES_TYPE = 12, VT_ARRAY_INDICES = 14 }; tflite::DimensionType format() const { return static_cast(GetField(VT_FORMAT, 0)); } int32_t dense_size() const { return GetField(VT_DENSE_SIZE, 0); } tflite::SparseIndexVector array_segments_type() const { return static_cast(GetField(VT_ARRAY_SEGMENTS_TYPE, 0)); } const void *array_segments() const { return GetPointer(VT_ARRAY_SEGMENTS); } template const T *array_segments_as() const; const tflite::Int32Vector *array_segments_as_Int32Vector() const { return array_segments_type() == tflite::SparseIndexVector_Int32Vector ? static_cast(array_segments()) : nullptr; } const tflite::Uint16Vector *array_segments_as_Uint16Vector() const { return array_segments_type() == tflite::SparseIndexVector_Uint16Vector ? static_cast(array_segments()) : nullptr; } const tflite::Uint8Vector *array_segments_as_Uint8Vector() const { return array_segments_type() == tflite::SparseIndexVector_Uint8Vector ? static_cast(array_segments()) : nullptr; } tflite::SparseIndexVector array_indices_type() const { return static_cast(GetField(VT_ARRAY_INDICES_TYPE, 0)); } const void *array_indices() const { return GetPointer(VT_ARRAY_INDICES); } template const T *array_indices_as() const; const tflite::Int32Vector *array_indices_as_Int32Vector() const { return array_indices_type() == tflite::SparseIndexVector_Int32Vector ? static_cast(array_indices()) : nullptr; } const tflite::Uint16Vector *array_indices_as_Uint16Vector() const { return array_indices_type() == tflite::SparseIndexVector_Uint16Vector ? static_cast(array_indices()) : nullptr; } const tflite::Uint8Vector *array_indices_as_Uint8Vector() const { return array_indices_type() == tflite::SparseIndexVector_Uint8Vector ? static_cast(array_indices()) : nullptr; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FORMAT) && VerifyField(verifier, VT_DENSE_SIZE) && VerifyField(verifier, VT_ARRAY_SEGMENTS_TYPE) && VerifyOffset(verifier, VT_ARRAY_SEGMENTS) && VerifySparseIndexVector(verifier, array_segments(), array_segments_type()) && VerifyField(verifier, VT_ARRAY_INDICES_TYPE) && VerifyOffset(verifier, VT_ARRAY_INDICES) && VerifySparseIndexVector(verifier, array_indices(), array_indices_type()) && verifier.EndTable(); } }; template<> inline const tflite::Int32Vector *DimensionMetadata::array_segments_as() const { return array_segments_as_Int32Vector(); } template<> inline const tflite::Uint16Vector *DimensionMetadata::array_segments_as() const { return array_segments_as_Uint16Vector(); } template<> inline const tflite::Uint8Vector *DimensionMetadata::array_segments_as() const { return array_segments_as_Uint8Vector(); } template<> inline const tflite::Int32Vector *DimensionMetadata::array_indices_as() const { return array_indices_as_Int32Vector(); } template<> inline const tflite::Uint16Vector *DimensionMetadata::array_indices_as() const { return array_indices_as_Uint16Vector(); } template<> inline const tflite::Uint8Vector *DimensionMetadata::array_indices_as() const { return array_indices_as_Uint8Vector(); } struct DimensionMetadataBuilder { typedef DimensionMetadata Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_format(tflite::DimensionType format) { fbb_.AddElement(DimensionMetadata::VT_FORMAT, static_cast(format), 0); } void add_dense_size(int32_t dense_size) { fbb_.AddElement(DimensionMetadata::VT_DENSE_SIZE, dense_size, 0); } void add_array_segments_type(tflite::SparseIndexVector array_segments_type) { fbb_.AddElement(DimensionMetadata::VT_ARRAY_SEGMENTS_TYPE, static_cast(array_segments_type), 0); } void add_array_segments(flatbuffers::Offset array_segments) { fbb_.AddOffset(DimensionMetadata::VT_ARRAY_SEGMENTS, array_segments); } void add_array_indices_type(tflite::SparseIndexVector array_indices_type) { fbb_.AddElement(DimensionMetadata::VT_ARRAY_INDICES_TYPE, static_cast(array_indices_type), 0); } void add_array_indices(flatbuffers::Offset array_indices) { fbb_.AddOffset(DimensionMetadata::VT_ARRAY_INDICES, array_indices); } explicit DimensionMetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDimensionMetadata( flatbuffers::FlatBufferBuilder &_fbb, tflite::DimensionType format = tflite::DimensionType_DENSE, int32_t dense_size = 0, tflite::SparseIndexVector array_segments_type = tflite::SparseIndexVector_NONE, flatbuffers::Offset array_segments = 0, tflite::SparseIndexVector array_indices_type = tflite::SparseIndexVector_NONE, flatbuffers::Offset array_indices = 0) { DimensionMetadataBuilder builder_(_fbb); builder_.add_array_indices(array_indices); builder_.add_array_segments(array_segments); builder_.add_dense_size(dense_size); builder_.add_array_indices_type(array_indices_type); builder_.add_array_segments_type(array_segments_type); builder_.add_format(format); return builder_.Finish(); } struct SparsityParameters FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SparsityParametersBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_TRAVERSAL_ORDER = 4, VT_BLOCK_MAP = 6, VT_DIM_METADATA = 8 }; const flatbuffers::Vector *traversal_order() const { return GetPointer *>(VT_TRAVERSAL_ORDER); } const flatbuffers::Vector *block_map() const { return GetPointer *>(VT_BLOCK_MAP); } const flatbuffers::Vector> *dim_metadata() const { return GetPointer> *>(VT_DIM_METADATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_TRAVERSAL_ORDER) && verifier.VerifyVector(traversal_order()) && VerifyOffset(verifier, VT_BLOCK_MAP) && verifier.VerifyVector(block_map()) && VerifyOffset(verifier, VT_DIM_METADATA) && verifier.VerifyVector(dim_metadata()) && verifier.VerifyVectorOfTables(dim_metadata()) && verifier.EndTable(); } }; struct SparsityParametersBuilder { typedef SparsityParameters Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_traversal_order(flatbuffers::Offset> traversal_order) { fbb_.AddOffset(SparsityParameters::VT_TRAVERSAL_ORDER, traversal_order); } void add_block_map(flatbuffers::Offset> block_map) { fbb_.AddOffset(SparsityParameters::VT_BLOCK_MAP, block_map); } void add_dim_metadata(flatbuffers::Offset>> dim_metadata) { fbb_.AddOffset(SparsityParameters::VT_DIM_METADATA, dim_metadata); } explicit SparsityParametersBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSparsityParameters( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> traversal_order = 0, flatbuffers::Offset> block_map = 0, flatbuffers::Offset>> dim_metadata = 0) { SparsityParametersBuilder builder_(_fbb); builder_.add_dim_metadata(dim_metadata); builder_.add_block_map(block_map); builder_.add_traversal_order(traversal_order); return builder_.Finish(); } inline flatbuffers::Offset CreateSparsityParametersDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *traversal_order = nullptr, const std::vector *block_map = nullptr, const std::vector> *dim_metadata = nullptr) { auto traversal_order__ = traversal_order ? _fbb.CreateVector(*traversal_order) : 0; auto block_map__ = block_map ? _fbb.CreateVector(*block_map) : 0; auto dim_metadata__ = dim_metadata ? _fbb.CreateVector>(*dim_metadata) : 0; return tflite::CreateSparsityParameters( _fbb, traversal_order__, block_map__, dim_metadata__); } struct Tensor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TensorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_SHAPE = 4, VT_TYPE = 6, VT_BUFFER = 8, VT_NAME = 10, VT_QUANTIZATION = 12, VT_IS_VARIABLE = 14, VT_SPARSITY = 16, VT_SHAPE_SIGNATURE = 18 }; const flatbuffers::Vector *shape() const { return GetPointer *>(VT_SHAPE); } tflite::TensorType type() const { return static_cast(GetField(VT_TYPE, 0)); } uint32_t buffer() const { return GetField(VT_BUFFER, 0); } const flatbuffers::String *name() const { return GetPointer(VT_NAME); } const tflite::QuantizationParameters *quantization() const { return GetPointer(VT_QUANTIZATION); } bool is_variable() const { return GetField(VT_IS_VARIABLE, 0) != 0; } const tflite::SparsityParameters *sparsity() const { return GetPointer(VT_SPARSITY); } const flatbuffers::Vector *shape_signature() const { return GetPointer *>(VT_SHAPE_SIGNATURE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_SHAPE) && verifier.VerifyVector(shape()) && VerifyField(verifier, VT_TYPE) && VerifyField(verifier, VT_BUFFER) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && VerifyOffset(verifier, VT_QUANTIZATION) && verifier.VerifyTable(quantization()) && VerifyField(verifier, VT_IS_VARIABLE) && VerifyOffset(verifier, VT_SPARSITY) && verifier.VerifyTable(sparsity()) && VerifyOffset(verifier, VT_SHAPE_SIGNATURE) && verifier.VerifyVector(shape_signature()) && verifier.EndTable(); } }; struct TensorBuilder { typedef Tensor Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_shape(flatbuffers::Offset> shape) { fbb_.AddOffset(Tensor::VT_SHAPE, shape); } void add_type(tflite::TensorType type) { fbb_.AddElement(Tensor::VT_TYPE, static_cast(type), 0); } void add_buffer(uint32_t buffer) { fbb_.AddElement(Tensor::VT_BUFFER, buffer, 0); } void add_name(flatbuffers::Offset name) { fbb_.AddOffset(Tensor::VT_NAME, name); } void add_quantization(flatbuffers::Offset quantization) { fbb_.AddOffset(Tensor::VT_QUANTIZATION, quantization); } void add_is_variable(bool is_variable) { fbb_.AddElement(Tensor::VT_IS_VARIABLE, static_cast(is_variable), 0); } void add_sparsity(flatbuffers::Offset sparsity) { fbb_.AddOffset(Tensor::VT_SPARSITY, sparsity); } void add_shape_signature(flatbuffers::Offset> shape_signature) { fbb_.AddOffset(Tensor::VT_SHAPE_SIGNATURE, shape_signature); } explicit TensorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTensor( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> shape = 0, tflite::TensorType type = tflite::TensorType_FLOAT32, uint32_t buffer = 0, flatbuffers::Offset name = 0, flatbuffers::Offset quantization = 0, bool is_variable = false, flatbuffers::Offset sparsity = 0, flatbuffers::Offset> shape_signature = 0) { TensorBuilder builder_(_fbb); builder_.add_shape_signature(shape_signature); builder_.add_sparsity(sparsity); builder_.add_quantization(quantization); builder_.add_name(name); builder_.add_buffer(buffer); builder_.add_shape(shape); builder_.add_is_variable(is_variable); builder_.add_type(type); return builder_.Finish(); } inline flatbuffers::Offset CreateTensorDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *shape = nullptr, tflite::TensorType type = tflite::TensorType_FLOAT32, uint32_t buffer = 0, const char *name = nullptr, flatbuffers::Offset quantization = 0, bool is_variable = false, flatbuffers::Offset sparsity = 0, const std::vector *shape_signature = nullptr) { auto shape__ = shape ? _fbb.CreateVector(*shape) : 0; auto name__ = name ? _fbb.CreateString(name) : 0; auto shape_signature__ = shape_signature ? _fbb.CreateVector(*shape_signature) : 0; return tflite::CreateTensor( _fbb, shape__, type, buffer, name__, quantization, is_variable, sparsity, shape_signature__); } struct Conv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Conv2DOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_FUSED_ACTIVATION_FUNCTION = 10, VT_DILATION_W_FACTOR = 12, VT_DILATION_H_FACTOR = 14 }; tflite::Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } int32_t dilation_w_factor() const { return GetField(VT_DILATION_W_FACTOR, 1); } int32_t dilation_h_factor() const { return GetField(VT_DILATION_H_FACTOR, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_DILATION_W_FACTOR) && VerifyField(verifier, VT_DILATION_H_FACTOR) && verifier.EndTable(); } }; struct Conv2DOptionsBuilder { typedef Conv2DOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(tflite::Padding padding) { fbb_.AddElement(Conv2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(Conv2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(Conv2DOptions::VT_STRIDE_H, stride_h, 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(Conv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_dilation_w_factor(int32_t dilation_w_factor) { fbb_.AddElement(Conv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); } void add_dilation_h_factor(int32_t dilation_h_factor) { fbb_.AddElement(Conv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); } explicit Conv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConv2DOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::Padding padding = tflite::Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, int32_t dilation_w_factor = 1, int32_t dilation_h_factor = 1) { Conv2DOptionsBuilder builder_(_fbb); builder_.add_dilation_h_factor(dilation_h_factor); builder_.add_dilation_w_factor(dilation_w_factor); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct Pool2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef Pool2DOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_FILTER_WIDTH = 10, VT_FILTER_HEIGHT = 12, VT_FUSED_ACTIVATION_FUNCTION = 14 }; tflite::Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } int32_t filter_width() const { return GetField(VT_FILTER_WIDTH, 0); } int32_t filter_height() const { return GetField(VT_FILTER_HEIGHT, 0); } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_FILTER_WIDTH) && VerifyField(verifier, VT_FILTER_HEIGHT) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct Pool2DOptionsBuilder { typedef Pool2DOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(tflite::Padding padding) { fbb_.AddElement(Pool2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(Pool2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(Pool2DOptions::VT_STRIDE_H, stride_h, 0); } void add_filter_width(int32_t filter_width) { fbb_.AddElement(Pool2DOptions::VT_FILTER_WIDTH, filter_width, 0); } void add_filter_height(int32_t filter_height) { fbb_.AddElement(Pool2DOptions::VT_FILTER_HEIGHT, filter_height, 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(Pool2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit Pool2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePool2DOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::Padding padding = tflite::Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, int32_t filter_width = 0, int32_t filter_height = 0, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { Pool2DOptionsBuilder builder_(_fbb); builder_.add_filter_height(filter_height); builder_.add_filter_width(filter_width); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct DepthwiseConv2DOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DepthwiseConv2DOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8, VT_DEPTH_MULTIPLIER = 10, VT_FUSED_ACTIVATION_FUNCTION = 12, VT_DILATION_W_FACTOR = 14, VT_DILATION_H_FACTOR = 16 }; tflite::Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } int32_t depth_multiplier() const { return GetField(VT_DEPTH_MULTIPLIER, 0); } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } int32_t dilation_w_factor() const { return GetField(VT_DILATION_W_FACTOR, 1); } int32_t dilation_h_factor() const { return GetField(VT_DILATION_H_FACTOR, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && VerifyField(verifier, VT_DEPTH_MULTIPLIER) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_DILATION_W_FACTOR) && VerifyField(verifier, VT_DILATION_H_FACTOR) && verifier.EndTable(); } }; struct DepthwiseConv2DOptionsBuilder { typedef DepthwiseConv2DOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(tflite::Padding padding) { fbb_.AddElement(DepthwiseConv2DOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(DepthwiseConv2DOptions::VT_STRIDE_H, stride_h, 0); } void add_depth_multiplier(int32_t depth_multiplier) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DEPTH_MULTIPLIER, depth_multiplier, 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(DepthwiseConv2DOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_dilation_w_factor(int32_t dilation_w_factor) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_W_FACTOR, dilation_w_factor, 1); } void add_dilation_h_factor(int32_t dilation_h_factor) { fbb_.AddElement(DepthwiseConv2DOptions::VT_DILATION_H_FACTOR, dilation_h_factor, 1); } explicit DepthwiseConv2DOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDepthwiseConv2DOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::Padding padding = tflite::Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0, int32_t depth_multiplier = 0, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, int32_t dilation_w_factor = 1, int32_t dilation_h_factor = 1) { DepthwiseConv2DOptionsBuilder builder_(_fbb); builder_.add_dilation_h_factor(dilation_h_factor); builder_.add_dilation_w_factor(dilation_w_factor); builder_.add_depth_multiplier(depth_multiplier); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_fused_activation_function(fused_activation_function); builder_.add_padding(padding); return builder_.Finish(); } struct ConcatEmbeddingsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ConcatEmbeddingsOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NUM_CHANNELS = 4, VT_NUM_COLUMNS_PER_CHANNEL = 6, VT_EMBEDDING_DIM_PER_CHANNEL = 8 }; int32_t num_channels() const { return GetField(VT_NUM_CHANNELS, 0); } const flatbuffers::Vector *num_columns_per_channel() const { return GetPointer *>(VT_NUM_COLUMNS_PER_CHANNEL); } const flatbuffers::Vector *embedding_dim_per_channel() const { return GetPointer *>(VT_EMBEDDING_DIM_PER_CHANNEL); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_CHANNELS) && VerifyOffset(verifier, VT_NUM_COLUMNS_PER_CHANNEL) && verifier.VerifyVector(num_columns_per_channel()) && VerifyOffset(verifier, VT_EMBEDDING_DIM_PER_CHANNEL) && verifier.VerifyVector(embedding_dim_per_channel()) && verifier.EndTable(); } }; struct ConcatEmbeddingsOptionsBuilder { typedef ConcatEmbeddingsOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_channels(int32_t num_channels) { fbb_.AddElement(ConcatEmbeddingsOptions::VT_NUM_CHANNELS, num_channels, 0); } void add_num_columns_per_channel(flatbuffers::Offset> num_columns_per_channel) { fbb_.AddOffset(ConcatEmbeddingsOptions::VT_NUM_COLUMNS_PER_CHANNEL, num_columns_per_channel); } void add_embedding_dim_per_channel(flatbuffers::Offset> embedding_dim_per_channel) { fbb_.AddOffset(ConcatEmbeddingsOptions::VT_EMBEDDING_DIM_PER_CHANNEL, embedding_dim_per_channel); } explicit ConcatEmbeddingsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConcatEmbeddingsOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t num_channels = 0, flatbuffers::Offset> num_columns_per_channel = 0, flatbuffers::Offset> embedding_dim_per_channel = 0) { ConcatEmbeddingsOptionsBuilder builder_(_fbb); builder_.add_embedding_dim_per_channel(embedding_dim_per_channel); builder_.add_num_columns_per_channel(num_columns_per_channel); builder_.add_num_channels(num_channels); return builder_.Finish(); } inline flatbuffers::Offset CreateConcatEmbeddingsOptionsDirect( flatbuffers::FlatBufferBuilder &_fbb, int32_t num_channels = 0, const std::vector *num_columns_per_channel = nullptr, const std::vector *embedding_dim_per_channel = nullptr) { auto num_columns_per_channel__ = num_columns_per_channel ? _fbb.CreateVector(*num_columns_per_channel) : 0; auto embedding_dim_per_channel__ = embedding_dim_per_channel ? _fbb.CreateVector(*embedding_dim_per_channel) : 0; return tflite::CreateConcatEmbeddingsOptions( _fbb, num_channels, num_columns_per_channel__, embedding_dim_per_channel__); } struct LSHProjectionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LSHProjectionOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_TYPE = 4 }; tflite::LSHProjectionType type() const { return static_cast(GetField(VT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TYPE) && verifier.EndTable(); } }; struct LSHProjectionOptionsBuilder { typedef LSHProjectionOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_type(tflite::LSHProjectionType type) { fbb_.AddElement(LSHProjectionOptions::VT_TYPE, static_cast(type), 0); } explicit LSHProjectionOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLSHProjectionOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::LSHProjectionType type = tflite::LSHProjectionType_UNKNOWN) { LSHProjectionOptionsBuilder builder_(_fbb); builder_.add_type(type); return builder_.Finish(); } struct SVDFOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SVDFOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_RANK = 4, VT_FUSED_ACTIVATION_FUNCTION = 6, VT_ASYMMETRIC_QUANTIZE_INPUTS = 8 }; int32_t rank() const { return GetField(VT_RANK, 0); } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_RANK) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct SVDFOptionsBuilder { typedef SVDFOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_rank(int32_t rank) { fbb_.AddElement(SVDFOptions::VT_RANK, rank, 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(SVDFOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(SVDFOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit SVDFOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSVDFOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t rank = 0, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool asymmetric_quantize_inputs = false) { SVDFOptionsBuilder builder_(_fbb); builder_.add_rank(rank); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct RNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef RNNOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_ASYMMETRIC_QUANTIZE_INPUTS = 6 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct RNNOptionsBuilder { typedef RNNOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(RNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(RNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit RNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRNNOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool asymmetric_quantize_inputs = false) { RNNOptionsBuilder builder_(_fbb); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct SequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SequenceRNNOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_TIME_MAJOR = 4, VT_FUSED_ACTIVATION_FUNCTION = 6, VT_ASYMMETRIC_QUANTIZE_INPUTS = 8 }; bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct SequenceRNNOptionsBuilder { typedef SequenceRNNOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_time_major(bool time_major) { fbb_.AddElement(SequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(SequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(SequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit SequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSequenceRNNOptions( flatbuffers::FlatBufferBuilder &_fbb, bool time_major = false, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool asymmetric_quantize_inputs = false) { SequenceRNNOptionsBuilder builder_(_fbb); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_fused_activation_function(fused_activation_function); builder_.add_time_major(time_major); return builder_.Finish(); } struct BidirectionalSequenceRNNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BidirectionalSequenceRNNOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_TIME_MAJOR = 4, VT_FUSED_ACTIVATION_FUNCTION = 6, VT_MERGE_OUTPUTS = 8, VT_ASYMMETRIC_QUANTIZE_INPUTS = 10 }; bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool merge_outputs() const { return GetField(VT_MERGE_OUTPUTS, 0) != 0; } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_MERGE_OUTPUTS) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct BidirectionalSequenceRNNOptionsBuilder { typedef BidirectionalSequenceRNNOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_time_major(bool time_major) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_merge_outputs(bool merge_outputs) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(BidirectionalSequenceRNNOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit BidirectionalSequenceRNNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBidirectionalSequenceRNNOptions( flatbuffers::FlatBufferBuilder &_fbb, bool time_major = false, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool merge_outputs = false, bool asymmetric_quantize_inputs = false) { BidirectionalSequenceRNNOptionsBuilder builder_(_fbb); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_merge_outputs(merge_outputs); builder_.add_fused_activation_function(fused_activation_function); builder_.add_time_major(time_major); return builder_.Finish(); } struct FullyConnectedOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FullyConnectedOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_WEIGHTS_FORMAT = 6, VT_KEEP_NUM_DIMS = 8, VT_ASYMMETRIC_QUANTIZE_INPUTS = 10 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } tflite::FullyConnectedOptionsWeightsFormat weights_format() const { return static_cast(GetField(VT_WEIGHTS_FORMAT, 0)); } bool keep_num_dims() const { return GetField(VT_KEEP_NUM_DIMS, 0) != 0; } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_WEIGHTS_FORMAT) && VerifyField(verifier, VT_KEEP_NUM_DIMS) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct FullyConnectedOptionsBuilder { typedef FullyConnectedOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(FullyConnectedOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_weights_format(tflite::FullyConnectedOptionsWeightsFormat weights_format) { fbb_.AddElement(FullyConnectedOptions::VT_WEIGHTS_FORMAT, static_cast(weights_format), 0); } void add_keep_num_dims(bool keep_num_dims) { fbb_.AddElement(FullyConnectedOptions::VT_KEEP_NUM_DIMS, static_cast(keep_num_dims), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(FullyConnectedOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit FullyConnectedOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFullyConnectedOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, tflite::FullyConnectedOptionsWeightsFormat weights_format = tflite::FullyConnectedOptionsWeightsFormat_DEFAULT, bool keep_num_dims = false, bool asymmetric_quantize_inputs = false) { FullyConnectedOptionsBuilder builder_(_fbb); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_keep_num_dims(keep_num_dims); builder_.add_weights_format(weights_format); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct SoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SoftmaxOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BETA = 4 }; float beta() const { return GetField(VT_BETA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BETA) && verifier.EndTable(); } }; struct SoftmaxOptionsBuilder { typedef SoftmaxOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_beta(float beta) { fbb_.AddElement(SoftmaxOptions::VT_BETA, beta, 0.0f); } explicit SoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSoftmaxOptions( flatbuffers::FlatBufferBuilder &_fbb, float beta = 0.0f) { SoftmaxOptionsBuilder builder_(_fbb); builder_.add_beta(beta); return builder_.Finish(); } struct ConcatenationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ConcatenationOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_AXIS = 4, VT_FUSED_ACTIVATION_FUNCTION = 6 }; int32_t axis() const { return GetField(VT_AXIS, 0); } tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct ConcatenationOptionsBuilder { typedef ConcatenationOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(ConcatenationOptions::VT_AXIS, axis, 0); } void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(ConcatenationOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit ConcatenationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateConcatenationOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { ConcatenationOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct AddOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef AddOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_POT_SCALE_INT16 = 6 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool pot_scale_int16() const { return GetField(VT_POT_SCALE_INT16, 1) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_POT_SCALE_INT16) && verifier.EndTable(); } }; struct AddOptionsBuilder { typedef AddOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(AddOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_pot_scale_int16(bool pot_scale_int16) { fbb_.AddElement(AddOptions::VT_POT_SCALE_INT16, static_cast(pot_scale_int16), 1); } explicit AddOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAddOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool pot_scale_int16 = true) { AddOptionsBuilder builder_(_fbb); builder_.add_pot_scale_int16(pot_scale_int16); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct MulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MulOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct MulOptionsBuilder { typedef MulOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(MulOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit MulOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMulOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { MulOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct L2NormOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef L2NormOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct L2NormOptionsBuilder { typedef L2NormOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(L2NormOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit L2NormOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateL2NormOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { L2NormOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct LocalResponseNormalizationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LocalResponseNormalizationOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_RADIUS = 4, VT_BIAS = 6, VT_ALPHA = 8, VT_BETA = 10 }; int32_t radius() const { return GetField(VT_RADIUS, 0); } float bias() const { return GetField(VT_BIAS, 0.0f); } float alpha() const { return GetField(VT_ALPHA, 0.0f); } float beta() const { return GetField(VT_BETA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_RADIUS) && VerifyField(verifier, VT_BIAS) && VerifyField(verifier, VT_ALPHA) && VerifyField(verifier, VT_BETA) && verifier.EndTable(); } }; struct LocalResponseNormalizationOptionsBuilder { typedef LocalResponseNormalizationOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_radius(int32_t radius) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_RADIUS, radius, 0); } void add_bias(float bias) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_BIAS, bias, 0.0f); } void add_alpha(float alpha) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_ALPHA, alpha, 0.0f); } void add_beta(float beta) { fbb_.AddElement(LocalResponseNormalizationOptions::VT_BETA, beta, 0.0f); } explicit LocalResponseNormalizationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLocalResponseNormalizationOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t radius = 0, float bias = 0.0f, float alpha = 0.0f, float beta = 0.0f) { LocalResponseNormalizationOptionsBuilder builder_(_fbb); builder_.add_beta(beta); builder_.add_alpha(alpha); builder_.add_bias(bias); builder_.add_radius(radius); return builder_.Finish(); } struct LSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LSTMOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_KERNEL_TYPE = 10, VT_ASYMMETRIC_QUANTIZE_INPUTS = 12 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } tflite::LSTMKernelType kernel_type() const { return static_cast(GetField(VT_KERNEL_TYPE, 0)); } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_KERNEL_TYPE) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct LSTMOptionsBuilder { typedef LSTMOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(LSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(LSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(LSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_kernel_type(tflite::LSTMKernelType kernel_type) { fbb_.AddElement(LSTMOptions::VT_KERNEL_TYPE, static_cast(kernel_type), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(LSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit LSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLSTMOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, tflite::LSTMKernelType kernel_type = tflite::LSTMKernelType_FULL, bool asymmetric_quantize_inputs = false) { LSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_kernel_type(kernel_type); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct UnidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef UnidirectionalSequenceLSTMOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_TIME_MAJOR = 10, VT_ASYMMETRIC_QUANTIZE_INPUTS = 12 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } bool time_major() const { return GetField(VT_TIME_MAJOR, 0) != 0; } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct UnidirectionalSequenceLSTMOptionsBuilder { typedef UnidirectionalSequenceLSTMOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_time_major(bool time_major) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, static_cast(time_major), 0); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(UnidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit UnidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUnidirectionalSequenceLSTMOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, bool time_major = false, bool asymmetric_quantize_inputs = false) { UnidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_time_major(time_major); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct BidirectionalSequenceLSTMOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BidirectionalSequenceLSTMOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_CELL_CLIP = 6, VT_PROJ_CLIP = 8, VT_MERGE_OUTPUTS = 10, VT_TIME_MAJOR = 12, VT_ASYMMETRIC_QUANTIZE_INPUTS = 14 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } float cell_clip() const { return GetField(VT_CELL_CLIP, 0.0f); } float proj_clip() const { return GetField(VT_PROJ_CLIP, 0.0f); } bool merge_outputs() const { return GetField(VT_MERGE_OUTPUTS, 0) != 0; } bool time_major() const { return GetField(VT_TIME_MAJOR, 1) != 0; } bool asymmetric_quantize_inputs() const { return GetField(VT_ASYMMETRIC_QUANTIZE_INPUTS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_CELL_CLIP) && VerifyField(verifier, VT_PROJ_CLIP) && VerifyField(verifier, VT_MERGE_OUTPUTS) && VerifyField(verifier, VT_TIME_MAJOR) && VerifyField(verifier, VT_ASYMMETRIC_QUANTIZE_INPUTS) && verifier.EndTable(); } }; struct BidirectionalSequenceLSTMOptionsBuilder { typedef BidirectionalSequenceLSTMOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_cell_clip(float cell_clip) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_CELL_CLIP, cell_clip, 0.0f); } void add_proj_clip(float proj_clip) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_PROJ_CLIP, proj_clip, 0.0f); } void add_merge_outputs(bool merge_outputs) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_MERGE_OUTPUTS, static_cast(merge_outputs), 0); } void add_time_major(bool time_major) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_TIME_MAJOR, static_cast(time_major), 1); } void add_asymmetric_quantize_inputs(bool asymmetric_quantize_inputs) { fbb_.AddElement(BidirectionalSequenceLSTMOptions::VT_ASYMMETRIC_QUANTIZE_INPUTS, static_cast(asymmetric_quantize_inputs), 0); } explicit BidirectionalSequenceLSTMOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBidirectionalSequenceLSTMOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, float cell_clip = 0.0f, float proj_clip = 0.0f, bool merge_outputs = false, bool time_major = true, bool asymmetric_quantize_inputs = false) { BidirectionalSequenceLSTMOptionsBuilder builder_(_fbb); builder_.add_proj_clip(proj_clip); builder_.add_cell_clip(cell_clip); builder_.add_asymmetric_quantize_inputs(asymmetric_quantize_inputs); builder_.add_time_major(time_major); builder_.add_merge_outputs(merge_outputs); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct ResizeBilinearOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ResizeBilinearOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ALIGN_CORNERS = 8, VT_HALF_PIXEL_CENTERS = 10 }; bool align_corners() const { return GetField(VT_ALIGN_CORNERS, 0) != 0; } bool half_pixel_centers() const { return GetField(VT_HALF_PIXEL_CENTERS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALIGN_CORNERS) && VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && verifier.EndTable(); } }; struct ResizeBilinearOptionsBuilder { typedef ResizeBilinearOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_align_corners(bool align_corners) { fbb_.AddElement(ResizeBilinearOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); } void add_half_pixel_centers(bool half_pixel_centers) { fbb_.AddElement(ResizeBilinearOptions::VT_HALF_PIXEL_CENTERS, static_cast(half_pixel_centers), 0); } explicit ResizeBilinearOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateResizeBilinearOptions( flatbuffers::FlatBufferBuilder &_fbb, bool align_corners = false, bool half_pixel_centers = false) { ResizeBilinearOptionsBuilder builder_(_fbb); builder_.add_half_pixel_centers(half_pixel_centers); builder_.add_align_corners(align_corners); return builder_.Finish(); } struct ResizeNearestNeighborOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ResizeNearestNeighborOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ALIGN_CORNERS = 4, VT_HALF_PIXEL_CENTERS = 6 }; bool align_corners() const { return GetField(VT_ALIGN_CORNERS, 0) != 0; } bool half_pixel_centers() const { return GetField(VT_HALF_PIXEL_CENTERS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALIGN_CORNERS) && VerifyField(verifier, VT_HALF_PIXEL_CENTERS) && verifier.EndTable(); } }; struct ResizeNearestNeighborOptionsBuilder { typedef ResizeNearestNeighborOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_align_corners(bool align_corners) { fbb_.AddElement(ResizeNearestNeighborOptions::VT_ALIGN_CORNERS, static_cast(align_corners), 0); } void add_half_pixel_centers(bool half_pixel_centers) { fbb_.AddElement(ResizeNearestNeighborOptions::VT_HALF_PIXEL_CENTERS, static_cast(half_pixel_centers), 0); } explicit ResizeNearestNeighborOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateResizeNearestNeighborOptions( flatbuffers::FlatBufferBuilder &_fbb, bool align_corners = false, bool half_pixel_centers = false) { ResizeNearestNeighborOptionsBuilder builder_(_fbb); builder_.add_half_pixel_centers(half_pixel_centers); builder_.add_align_corners(align_corners); return builder_.Finish(); } struct CallOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef CallOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_SUBGRAPH = 4 }; uint32_t subgraph() const { return GetField(VT_SUBGRAPH, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_SUBGRAPH) && verifier.EndTable(); } }; struct CallOptionsBuilder { typedef CallOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_subgraph(uint32_t subgraph) { fbb_.AddElement(CallOptions::VT_SUBGRAPH, subgraph, 0); } explicit CallOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCallOptions( flatbuffers::FlatBufferBuilder &_fbb, uint32_t subgraph = 0) { CallOptionsBuilder builder_(_fbb); builder_.add_subgraph(subgraph); return builder_.Finish(); } struct PadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PadOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PadOptionsBuilder { typedef PadOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePadOptions( flatbuffers::FlatBufferBuilder &_fbb) { PadOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct PadV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PadV2OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PadV2OptionsBuilder { typedef PadV2Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PadV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePadV2Options( flatbuffers::FlatBufferBuilder &_fbb) { PadV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ReshapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReshapeOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NEW_SHAPE = 4 }; const flatbuffers::Vector *new_shape() const { return GetPointer *>(VT_NEW_SHAPE); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NEW_SHAPE) && verifier.VerifyVector(new_shape()) && verifier.EndTable(); } }; struct ReshapeOptionsBuilder { typedef ReshapeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_new_shape(flatbuffers::Offset> new_shape) { fbb_.AddOffset(ReshapeOptions::VT_NEW_SHAPE, new_shape); } explicit ReshapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReshapeOptions( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> new_shape = 0) { ReshapeOptionsBuilder builder_(_fbb); builder_.add_new_shape(new_shape); return builder_.Finish(); } inline flatbuffers::Offset CreateReshapeOptionsDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *new_shape = nullptr) { auto new_shape__ = new_shape ? _fbb.CreateVector(*new_shape) : 0; return tflite::CreateReshapeOptions( _fbb, new_shape__); } struct SpaceToBatchNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SpaceToBatchNDOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SpaceToBatchNDOptionsBuilder { typedef SpaceToBatchNDOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SpaceToBatchNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSpaceToBatchNDOptions( flatbuffers::FlatBufferBuilder &_fbb) { SpaceToBatchNDOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct BatchToSpaceNDOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BatchToSpaceNDOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct BatchToSpaceNDOptionsBuilder { typedef BatchToSpaceNDOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit BatchToSpaceNDOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBatchToSpaceNDOptions( flatbuffers::FlatBufferBuilder &_fbb) { BatchToSpaceNDOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SkipGramOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SkipGramOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NGRAM_SIZE = 4, VT_MAX_SKIP_SIZE = 6, VT_INCLUDE_ALL_NGRAMS = 8 }; int32_t ngram_size() const { return GetField(VT_NGRAM_SIZE, 0); } int32_t max_skip_size() const { return GetField(VT_MAX_SKIP_SIZE, 0); } bool include_all_ngrams() const { return GetField(VT_INCLUDE_ALL_NGRAMS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NGRAM_SIZE) && VerifyField(verifier, VT_MAX_SKIP_SIZE) && VerifyField(verifier, VT_INCLUDE_ALL_NGRAMS) && verifier.EndTable(); } }; struct SkipGramOptionsBuilder { typedef SkipGramOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_ngram_size(int32_t ngram_size) { fbb_.AddElement(SkipGramOptions::VT_NGRAM_SIZE, ngram_size, 0); } void add_max_skip_size(int32_t max_skip_size) { fbb_.AddElement(SkipGramOptions::VT_MAX_SKIP_SIZE, max_skip_size, 0); } void add_include_all_ngrams(bool include_all_ngrams) { fbb_.AddElement(SkipGramOptions::VT_INCLUDE_ALL_NGRAMS, static_cast(include_all_ngrams), 0); } explicit SkipGramOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSkipGramOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t ngram_size = 0, int32_t max_skip_size = 0, bool include_all_ngrams = false) { SkipGramOptionsBuilder builder_(_fbb); builder_.add_max_skip_size(max_skip_size); builder_.add_ngram_size(ngram_size); builder_.add_include_all_ngrams(include_all_ngrams); return builder_.Finish(); } struct SpaceToDepthOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SpaceToDepthOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BLOCK_SIZE = 4 }; int32_t block_size() const { return GetField(VT_BLOCK_SIZE, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BLOCK_SIZE) && verifier.EndTable(); } }; struct SpaceToDepthOptionsBuilder { typedef SpaceToDepthOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_block_size(int32_t block_size) { fbb_.AddElement(SpaceToDepthOptions::VT_BLOCK_SIZE, block_size, 0); } explicit SpaceToDepthOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSpaceToDepthOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t block_size = 0) { SpaceToDepthOptionsBuilder builder_(_fbb); builder_.add_block_size(block_size); return builder_.Finish(); } struct DepthToSpaceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DepthToSpaceOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BLOCK_SIZE = 4 }; int32_t block_size() const { return GetField(VT_BLOCK_SIZE, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BLOCK_SIZE) && verifier.EndTable(); } }; struct DepthToSpaceOptionsBuilder { typedef DepthToSpaceOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_block_size(int32_t block_size) { fbb_.AddElement(DepthToSpaceOptions::VT_BLOCK_SIZE, block_size, 0); } explicit DepthToSpaceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDepthToSpaceOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t block_size = 0) { DepthToSpaceOptionsBuilder builder_(_fbb); builder_.add_block_size(block_size); return builder_.Finish(); } struct SubOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SubOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4, VT_POT_SCALE_INT16 = 6 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool pot_scale_int16() const { return GetField(VT_POT_SCALE_INT16, 1) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && VerifyField(verifier, VT_POT_SCALE_INT16) && verifier.EndTable(); } }; struct SubOptionsBuilder { typedef SubOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(SubOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } void add_pot_scale_int16(bool pot_scale_int16) { fbb_.AddElement(SubOptions::VT_POT_SCALE_INT16, static_cast(pot_scale_int16), 1); } explicit SubOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSubOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE, bool pot_scale_int16 = true) { SubOptionsBuilder builder_(_fbb); builder_.add_pot_scale_int16(pot_scale_int16); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct DivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DivOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_FUSED_ACTIVATION_FUNCTION = 4 }; tflite::ActivationFunctionType fused_activation_function() const { return static_cast(GetField(VT_FUSED_ACTIVATION_FUNCTION, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_FUSED_ACTIVATION_FUNCTION) && verifier.EndTable(); } }; struct DivOptionsBuilder { typedef DivOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_fused_activation_function(tflite::ActivationFunctionType fused_activation_function) { fbb_.AddElement(DivOptions::VT_FUSED_ACTIVATION_FUNCTION, static_cast(fused_activation_function), 0); } explicit DivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDivOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::ActivationFunctionType fused_activation_function = tflite::ActivationFunctionType_NONE) { DivOptionsBuilder builder_(_fbb); builder_.add_fused_activation_function(fused_activation_function); return builder_.Finish(); } struct TopKV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TopKV2OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TopKV2OptionsBuilder { typedef TopKV2Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TopKV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTopKV2Options( flatbuffers::FlatBufferBuilder &_fbb) { TopKV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct EmbeddingLookupSparseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef EmbeddingLookupSparseOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_COMBINER = 4 }; tflite::CombinerType combiner() const { return static_cast(GetField(VT_COMBINER, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_COMBINER) && verifier.EndTable(); } }; struct EmbeddingLookupSparseOptionsBuilder { typedef EmbeddingLookupSparseOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_combiner(tflite::CombinerType combiner) { fbb_.AddElement(EmbeddingLookupSparseOptions::VT_COMBINER, static_cast(combiner), 0); } explicit EmbeddingLookupSparseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEmbeddingLookupSparseOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::CombinerType combiner = tflite::CombinerType_SUM) { EmbeddingLookupSparseOptionsBuilder builder_(_fbb); builder_.add_combiner(combiner); return builder_.Finish(); } struct GatherOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef GatherOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_AXIS = 4 }; int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct GatherOptionsBuilder { typedef GatherOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(GatherOptions::VT_AXIS, axis, 0); } explicit GatherOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGatherOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0) { GatherOptionsBuilder builder_(_fbb); builder_.add_axis(axis); return builder_.Finish(); } struct TransposeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TransposeOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TransposeOptionsBuilder { typedef TransposeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TransposeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTransposeOptions( flatbuffers::FlatBufferBuilder &_fbb) { TransposeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ExpOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ExpOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ExpOptionsBuilder { typedef ExpOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ExpOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateExpOptions( flatbuffers::FlatBufferBuilder &_fbb) { ExpOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct CosOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef CosOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct CosOptionsBuilder { typedef CosOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit CosOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCosOptions( flatbuffers::FlatBufferBuilder &_fbb) { CosOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ReducerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReducerOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_KEEP_DIMS = 4 }; bool keep_dims() const { return GetField(VT_KEEP_DIMS, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_KEEP_DIMS) && verifier.EndTable(); } }; struct ReducerOptionsBuilder { typedef ReducerOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_keep_dims(bool keep_dims) { fbb_.AddElement(ReducerOptions::VT_KEEP_DIMS, static_cast(keep_dims), 0); } explicit ReducerOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReducerOptions( flatbuffers::FlatBufferBuilder &_fbb, bool keep_dims = false) { ReducerOptionsBuilder builder_(_fbb); builder_.add_keep_dims(keep_dims); return builder_.Finish(); } struct SqueezeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SqueezeOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_SQUEEZE_DIMS = 4 }; const flatbuffers::Vector *squeeze_dims() const { return GetPointer *>(VT_SQUEEZE_DIMS); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_SQUEEZE_DIMS) && verifier.VerifyVector(squeeze_dims()) && verifier.EndTable(); } }; struct SqueezeOptionsBuilder { typedef SqueezeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_squeeze_dims(flatbuffers::Offset> squeeze_dims) { fbb_.AddOffset(SqueezeOptions::VT_SQUEEZE_DIMS, squeeze_dims); } explicit SqueezeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSqueezeOptions( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> squeeze_dims = 0) { SqueezeOptionsBuilder builder_(_fbb); builder_.add_squeeze_dims(squeeze_dims); return builder_.Finish(); } inline flatbuffers::Offset CreateSqueezeOptionsDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *squeeze_dims = nullptr) { auto squeeze_dims__ = squeeze_dims ? _fbb.CreateVector(*squeeze_dims) : 0; return tflite::CreateSqueezeOptions( _fbb, squeeze_dims__); } struct SplitOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SplitOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NUM_SPLITS = 4 }; int32_t num_splits() const { return GetField(VT_NUM_SPLITS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_SPLITS) && verifier.EndTable(); } }; struct SplitOptionsBuilder { typedef SplitOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_splits(int32_t num_splits) { fbb_.AddElement(SplitOptions::VT_NUM_SPLITS, num_splits, 0); } explicit SplitOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSplitOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t num_splits = 0) { SplitOptionsBuilder builder_(_fbb); builder_.add_num_splits(num_splits); return builder_.Finish(); } struct SplitVOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SplitVOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NUM_SPLITS = 4 }; int32_t num_splits() const { return GetField(VT_NUM_SPLITS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM_SPLITS) && verifier.EndTable(); } }; struct SplitVOptionsBuilder { typedef SplitVOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num_splits(int32_t num_splits) { fbb_.AddElement(SplitVOptions::VT_NUM_SPLITS, num_splits, 0); } explicit SplitVOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSplitVOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t num_splits = 0) { SplitVOptionsBuilder builder_(_fbb); builder_.add_num_splits(num_splits); return builder_.Finish(); } struct StridedSliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef StridedSliceOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BEGIN_MASK = 4, VT_END_MASK = 6, VT_ELLIPSIS_MASK = 8, VT_NEW_AXIS_MASK = 10, VT_SHRINK_AXIS_MASK = 12 }; int32_t begin_mask() const { return GetField(VT_BEGIN_MASK, 0); } int32_t end_mask() const { return GetField(VT_END_MASK, 0); } int32_t ellipsis_mask() const { return GetField(VT_ELLIPSIS_MASK, 0); } int32_t new_axis_mask() const { return GetField(VT_NEW_AXIS_MASK, 0); } int32_t shrink_axis_mask() const { return GetField(VT_SHRINK_AXIS_MASK, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BEGIN_MASK) && VerifyField(verifier, VT_END_MASK) && VerifyField(verifier, VT_ELLIPSIS_MASK) && VerifyField(verifier, VT_NEW_AXIS_MASK) && VerifyField(verifier, VT_SHRINK_AXIS_MASK) && verifier.EndTable(); } }; struct StridedSliceOptionsBuilder { typedef StridedSliceOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_begin_mask(int32_t begin_mask) { fbb_.AddElement(StridedSliceOptions::VT_BEGIN_MASK, begin_mask, 0); } void add_end_mask(int32_t end_mask) { fbb_.AddElement(StridedSliceOptions::VT_END_MASK, end_mask, 0); } void add_ellipsis_mask(int32_t ellipsis_mask) { fbb_.AddElement(StridedSliceOptions::VT_ELLIPSIS_MASK, ellipsis_mask, 0); } void add_new_axis_mask(int32_t new_axis_mask) { fbb_.AddElement(StridedSliceOptions::VT_NEW_AXIS_MASK, new_axis_mask, 0); } void add_shrink_axis_mask(int32_t shrink_axis_mask) { fbb_.AddElement(StridedSliceOptions::VT_SHRINK_AXIS_MASK, shrink_axis_mask, 0); } explicit StridedSliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateStridedSliceOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t begin_mask = 0, int32_t end_mask = 0, int32_t ellipsis_mask = 0, int32_t new_axis_mask = 0, int32_t shrink_axis_mask = 0) { StridedSliceOptionsBuilder builder_(_fbb); builder_.add_shrink_axis_mask(shrink_axis_mask); builder_.add_new_axis_mask(new_axis_mask); builder_.add_ellipsis_mask(ellipsis_mask); builder_.add_end_mask(end_mask); builder_.add_begin_mask(begin_mask); return builder_.Finish(); } struct LogSoftmaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LogSoftmaxOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogSoftmaxOptionsBuilder { typedef LogSoftmaxOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogSoftmaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogSoftmaxOptions( flatbuffers::FlatBufferBuilder &_fbb) { LogSoftmaxOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct CastOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef CastOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_IN_DATA_TYPE = 4, VT_OUT_DATA_TYPE = 6 }; tflite::TensorType in_data_type() const { return static_cast(GetField(VT_IN_DATA_TYPE, 0)); } tflite::TensorType out_data_type() const { return static_cast(GetField(VT_OUT_DATA_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_IN_DATA_TYPE) && VerifyField(verifier, VT_OUT_DATA_TYPE) && verifier.EndTable(); } }; struct CastOptionsBuilder { typedef CastOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_in_data_type(tflite::TensorType in_data_type) { fbb_.AddElement(CastOptions::VT_IN_DATA_TYPE, static_cast(in_data_type), 0); } void add_out_data_type(tflite::TensorType out_data_type) { fbb_.AddElement(CastOptions::VT_OUT_DATA_TYPE, static_cast(out_data_type), 0); } explicit CastOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateCastOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::TensorType in_data_type = tflite::TensorType_FLOAT32, tflite::TensorType out_data_type = tflite::TensorType_FLOAT32) { CastOptionsBuilder builder_(_fbb); builder_.add_out_data_type(out_data_type); builder_.add_in_data_type(in_data_type); return builder_.Finish(); } struct DequantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DequantizeOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct DequantizeOptionsBuilder { typedef DequantizeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit DequantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDequantizeOptions( flatbuffers::FlatBufferBuilder &_fbb) { DequantizeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct MaximumMinimumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MaximumMinimumOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct MaximumMinimumOptionsBuilder { typedef MaximumMinimumOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit MaximumMinimumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMaximumMinimumOptions( flatbuffers::FlatBufferBuilder &_fbb) { MaximumMinimumOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct TileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TileOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct TileOptionsBuilder { typedef TileOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit TileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTileOptions( flatbuffers::FlatBufferBuilder &_fbb) { TileOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ArgMaxOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ArgMaxOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_OUTPUT_TYPE = 4 }; tflite::TensorType output_type() const { return static_cast(GetField(VT_OUTPUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUTPUT_TYPE) && verifier.EndTable(); } }; struct ArgMaxOptionsBuilder { typedef ArgMaxOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_output_type(tflite::TensorType output_type) { fbb_.AddElement(ArgMaxOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); } explicit ArgMaxOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateArgMaxOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::TensorType output_type = tflite::TensorType_FLOAT32) { ArgMaxOptionsBuilder builder_(_fbb); builder_.add_output_type(output_type); return builder_.Finish(); } struct ArgMinOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ArgMinOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_OUTPUT_TYPE = 4 }; tflite::TensorType output_type() const { return static_cast(GetField(VT_OUTPUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUTPUT_TYPE) && verifier.EndTable(); } }; struct ArgMinOptionsBuilder { typedef ArgMinOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_output_type(tflite::TensorType output_type) { fbb_.AddElement(ArgMinOptions::VT_OUTPUT_TYPE, static_cast(output_type), 0); } explicit ArgMinOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateArgMinOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::TensorType output_type = tflite::TensorType_FLOAT32) { ArgMinOptionsBuilder builder_(_fbb); builder_.add_output_type(output_type); return builder_.Finish(); } struct GreaterOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef GreaterOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct GreaterOptionsBuilder { typedef GreaterOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit GreaterOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGreaterOptions( flatbuffers::FlatBufferBuilder &_fbb) { GreaterOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct GreaterEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef GreaterEqualOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct GreaterEqualOptionsBuilder { typedef GreaterEqualOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit GreaterEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGreaterEqualOptions( flatbuffers::FlatBufferBuilder &_fbb) { GreaterEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LessOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LessOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LessOptionsBuilder { typedef LessOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LessOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLessOptions( flatbuffers::FlatBufferBuilder &_fbb) { LessOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LessEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LessEqualOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LessEqualOptionsBuilder { typedef LessEqualOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LessEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLessEqualOptions( flatbuffers::FlatBufferBuilder &_fbb) { LessEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct NegOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NegOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NegOptionsBuilder { typedef NegOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NegOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNegOptions( flatbuffers::FlatBufferBuilder &_fbb) { NegOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SelectOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SelectOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SelectOptionsBuilder { typedef SelectOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SelectOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSelectOptions( flatbuffers::FlatBufferBuilder &_fbb) { SelectOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SliceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SliceOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SliceOptionsBuilder { typedef SliceOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SliceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSliceOptions( flatbuffers::FlatBufferBuilder &_fbb) { SliceOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct TransposeConvOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef TransposeConvOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_PADDING = 4, VT_STRIDE_W = 6, VT_STRIDE_H = 8 }; tflite::Padding padding() const { return static_cast(GetField(VT_PADDING, 0)); } int32_t stride_w() const { return GetField(VT_STRIDE_W, 0); } int32_t stride_h() const { return GetField(VT_STRIDE_H, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_PADDING) && VerifyField(verifier, VT_STRIDE_W) && VerifyField(verifier, VT_STRIDE_H) && verifier.EndTable(); } }; struct TransposeConvOptionsBuilder { typedef TransposeConvOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_padding(tflite::Padding padding) { fbb_.AddElement(TransposeConvOptions::VT_PADDING, static_cast(padding), 0); } void add_stride_w(int32_t stride_w) { fbb_.AddElement(TransposeConvOptions::VT_STRIDE_W, stride_w, 0); } void add_stride_h(int32_t stride_h) { fbb_.AddElement(TransposeConvOptions::VT_STRIDE_H, stride_h, 0); } explicit TransposeConvOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateTransposeConvOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::Padding padding = tflite::Padding_SAME, int32_t stride_w = 0, int32_t stride_h = 0) { TransposeConvOptionsBuilder builder_(_fbb); builder_.add_stride_h(stride_h); builder_.add_stride_w(stride_w); builder_.add_padding(padding); return builder_.Finish(); } struct ExpandDimsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ExpandDimsOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ExpandDimsOptionsBuilder { typedef ExpandDimsOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ExpandDimsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateExpandDimsOptions( flatbuffers::FlatBufferBuilder &_fbb) { ExpandDimsOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SparseToDenseOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SparseToDenseOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VALIDATE_INDICES = 4 }; bool validate_indices() const { return GetField(VT_VALIDATE_INDICES, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VALIDATE_INDICES) && verifier.EndTable(); } }; struct SparseToDenseOptionsBuilder { typedef SparseToDenseOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_validate_indices(bool validate_indices) { fbb_.AddElement(SparseToDenseOptions::VT_VALIDATE_INDICES, static_cast(validate_indices), 0); } explicit SparseToDenseOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSparseToDenseOptions( flatbuffers::FlatBufferBuilder &_fbb, bool validate_indices = false) { SparseToDenseOptionsBuilder builder_(_fbb); builder_.add_validate_indices(validate_indices); return builder_.Finish(); } struct EqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef EqualOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct EqualOptionsBuilder { typedef EqualOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit EqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateEqualOptions( flatbuffers::FlatBufferBuilder &_fbb) { EqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct NotEqualOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NotEqualOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NotEqualOptionsBuilder { typedef NotEqualOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NotEqualOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNotEqualOptions( flatbuffers::FlatBufferBuilder &_fbb) { NotEqualOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ShapeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ShapeOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_OUT_TYPE = 4 }; tflite::TensorType out_type() const { return static_cast(GetField(VT_OUT_TYPE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OUT_TYPE) && verifier.EndTable(); } }; struct ShapeOptionsBuilder { typedef ShapeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_out_type(tflite::TensorType out_type) { fbb_.AddElement(ShapeOptions::VT_OUT_TYPE, static_cast(out_type), 0); } explicit ShapeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateShapeOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::TensorType out_type = tflite::TensorType_FLOAT32) { ShapeOptionsBuilder builder_(_fbb); builder_.add_out_type(out_type); return builder_.Finish(); } struct RankOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef RankOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct RankOptionsBuilder { typedef RankOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit RankOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRankOptions( flatbuffers::FlatBufferBuilder &_fbb) { RankOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct PowOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PowOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct PowOptionsBuilder { typedef PowOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit PowOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePowOptions( flatbuffers::FlatBufferBuilder &_fbb) { PowOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FakeQuantOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FakeQuantOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_MIN = 4, VT_MAX = 6, VT_NUM_BITS = 8, VT_NARROW_RANGE = 10 }; float min() const { return GetField(VT_MIN, 0.0f); } float max() const { return GetField(VT_MAX, 0.0f); } int32_t num_bits() const { return GetField(VT_NUM_BITS, 0); } bool narrow_range() const { return GetField(VT_NARROW_RANGE, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_MIN) && VerifyField(verifier, VT_MAX) && VerifyField(verifier, VT_NUM_BITS) && VerifyField(verifier, VT_NARROW_RANGE) && verifier.EndTable(); } }; struct FakeQuantOptionsBuilder { typedef FakeQuantOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_min(float min) { fbb_.AddElement(FakeQuantOptions::VT_MIN, min, 0.0f); } void add_max(float max) { fbb_.AddElement(FakeQuantOptions::VT_MAX, max, 0.0f); } void add_num_bits(int32_t num_bits) { fbb_.AddElement(FakeQuantOptions::VT_NUM_BITS, num_bits, 0); } void add_narrow_range(bool narrow_range) { fbb_.AddElement(FakeQuantOptions::VT_NARROW_RANGE, static_cast(narrow_range), 0); } explicit FakeQuantOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFakeQuantOptions( flatbuffers::FlatBufferBuilder &_fbb, float min = 0.0f, float max = 0.0f, int32_t num_bits = 0, bool narrow_range = false) { FakeQuantOptionsBuilder builder_(_fbb); builder_.add_num_bits(num_bits); builder_.add_max(max); builder_.add_min(min); builder_.add_narrow_range(narrow_range); return builder_.Finish(); } struct PackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef PackOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VALUES_COUNT = 4, VT_AXIS = 6 }; int32_t values_count() const { return GetField(VT_VALUES_COUNT, 0); } int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VALUES_COUNT) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct PackOptionsBuilder { typedef PackOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_values_count(int32_t values_count) { fbb_.AddElement(PackOptions::VT_VALUES_COUNT, values_count, 0); } void add_axis(int32_t axis) { fbb_.AddElement(PackOptions::VT_AXIS, axis, 0); } explicit PackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreatePackOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t values_count = 0, int32_t axis = 0) { PackOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_values_count(values_count); return builder_.Finish(); } struct LogicalOrOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LogicalOrOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalOrOptionsBuilder { typedef LogicalOrOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalOrOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalOrOptions( flatbuffers::FlatBufferBuilder &_fbb) { LogicalOrOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct OneHotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef OneHotOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_AXIS = 4 }; int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct OneHotOptionsBuilder { typedef OneHotOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_axis(int32_t axis) { fbb_.AddElement(OneHotOptions::VT_AXIS, axis, 0); } explicit OneHotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOneHotOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t axis = 0) { OneHotOptionsBuilder builder_(_fbb); builder_.add_axis(axis); return builder_.Finish(); } struct AbsOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef AbsOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct AbsOptionsBuilder { typedef AbsOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit AbsOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAbsOptions( flatbuffers::FlatBufferBuilder &_fbb) { AbsOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct HardSwishOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef HardSwishOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct HardSwishOptionsBuilder { typedef HardSwishOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit HardSwishOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateHardSwishOptions( flatbuffers::FlatBufferBuilder &_fbb) { HardSwishOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LogicalAndOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LogicalAndOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalAndOptionsBuilder { typedef LogicalAndOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalAndOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalAndOptions( flatbuffers::FlatBufferBuilder &_fbb) { LogicalAndOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LogicalNotOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LogicalNotOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct LogicalNotOptionsBuilder { typedef LogicalNotOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit LogicalNotOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLogicalNotOptions( flatbuffers::FlatBufferBuilder &_fbb) { LogicalNotOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct UnpackOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef UnpackOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NUM = 4, VT_AXIS = 6 }; int32_t num() const { return GetField(VT_NUM, 0); } int32_t axis() const { return GetField(VT_AXIS, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_NUM) && VerifyField(verifier, VT_AXIS) && verifier.EndTable(); } }; struct UnpackOptionsBuilder { typedef UnpackOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_num(int32_t num) { fbb_.AddElement(UnpackOptions::VT_NUM, num, 0); } void add_axis(int32_t axis) { fbb_.AddElement(UnpackOptions::VT_AXIS, axis, 0); } explicit UnpackOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUnpackOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t num = 0, int32_t axis = 0) { UnpackOptionsBuilder builder_(_fbb); builder_.add_axis(axis); builder_.add_num(num); return builder_.Finish(); } struct FloorDivOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FloorDivOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FloorDivOptionsBuilder { typedef FloorDivOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FloorDivOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFloorDivOptions( flatbuffers::FlatBufferBuilder &_fbb) { FloorDivOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SquareOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SquareOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SquareOptionsBuilder { typedef SquareOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SquareOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSquareOptions( flatbuffers::FlatBufferBuilder &_fbb) { SquareOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ZerosLikeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ZerosLikeOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ZerosLikeOptionsBuilder { typedef ZerosLikeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ZerosLikeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateZerosLikeOptions( flatbuffers::FlatBufferBuilder &_fbb) { ZerosLikeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FillOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FillOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FillOptionsBuilder { typedef FillOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FillOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFillOptions( flatbuffers::FlatBufferBuilder &_fbb) { FillOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct FloorModOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef FloorModOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct FloorModOptionsBuilder { typedef FloorModOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit FloorModOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateFloorModOptions( flatbuffers::FlatBufferBuilder &_fbb) { FloorModOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct RangeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef RangeOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct RangeOptionsBuilder { typedef RangeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit RangeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateRangeOptions( flatbuffers::FlatBufferBuilder &_fbb) { RangeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct LeakyReluOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef LeakyReluOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ALPHA = 4 }; float alpha() const { return GetField(VT_ALPHA, 0.0f); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ALPHA) && verifier.EndTable(); } }; struct LeakyReluOptionsBuilder { typedef LeakyReluOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_alpha(float alpha) { fbb_.AddElement(LeakyReluOptions::VT_ALPHA, alpha, 0.0f); } explicit LeakyReluOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateLeakyReluOptions( flatbuffers::FlatBufferBuilder &_fbb, float alpha = 0.0f) { LeakyReluOptionsBuilder builder_(_fbb); builder_.add_alpha(alpha); return builder_.Finish(); } struct SquaredDifferenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SquaredDifferenceOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SquaredDifferenceOptionsBuilder { typedef SquaredDifferenceOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SquaredDifferenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSquaredDifferenceOptions( flatbuffers::FlatBufferBuilder &_fbb) { SquaredDifferenceOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct MirrorPadOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MirrorPadOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_MODE = 4 }; tflite::MirrorPadMode mode() const { return static_cast(GetField(VT_MODE, 0)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_MODE) && verifier.EndTable(); } }; struct MirrorPadOptionsBuilder { typedef MirrorPadOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_mode(tflite::MirrorPadMode mode) { fbb_.AddElement(MirrorPadOptions::VT_MODE, static_cast(mode), 0); } explicit MirrorPadOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMirrorPadOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::MirrorPadMode mode = tflite::MirrorPadMode_REFLECT) { MirrorPadOptionsBuilder builder_(_fbb); builder_.add_mode(mode); return builder_.Finish(); } struct UniqueOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef UniqueOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_IDX_OUT_TYPE = 4 }; tflite::TensorType idx_out_type() const { return static_cast(GetField(VT_IDX_OUT_TYPE, 2)); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_IDX_OUT_TYPE) && verifier.EndTable(); } }; struct UniqueOptionsBuilder { typedef UniqueOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_idx_out_type(tflite::TensorType idx_out_type) { fbb_.AddElement(UniqueOptions::VT_IDX_OUT_TYPE, static_cast(idx_out_type), 2); } explicit UniqueOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateUniqueOptions( flatbuffers::FlatBufferBuilder &_fbb, tflite::TensorType idx_out_type = tflite::TensorType_INT32) { UniqueOptionsBuilder builder_(_fbb); builder_.add_idx_out_type(idx_out_type); return builder_.Finish(); } struct ReverseV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReverseV2OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ReverseV2OptionsBuilder { typedef ReverseV2Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ReverseV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReverseV2Options( flatbuffers::FlatBufferBuilder &_fbb) { ReverseV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct AddNOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef AddNOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct AddNOptionsBuilder { typedef AddNOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit AddNOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateAddNOptions( flatbuffers::FlatBufferBuilder &_fbb) { AddNOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct GatherNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef GatherNdOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct GatherNdOptionsBuilder { typedef GatherNdOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit GatherNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateGatherNdOptions( flatbuffers::FlatBufferBuilder &_fbb) { GatherNdOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct WhereOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef WhereOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct WhereOptionsBuilder { typedef WhereOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit WhereOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateWhereOptions( flatbuffers::FlatBufferBuilder &_fbb) { WhereOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ReverseSequenceOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ReverseSequenceOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_SEQ_DIM = 4, VT_BATCH_DIM = 6 }; int32_t seq_dim() const { return GetField(VT_SEQ_DIM, 0); } int32_t batch_dim() const { return GetField(VT_BATCH_DIM, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_SEQ_DIM) && VerifyField(verifier, VT_BATCH_DIM) && verifier.EndTable(); } }; struct ReverseSequenceOptionsBuilder { typedef ReverseSequenceOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_seq_dim(int32_t seq_dim) { fbb_.AddElement(ReverseSequenceOptions::VT_SEQ_DIM, seq_dim, 0); } void add_batch_dim(int32_t batch_dim) { fbb_.AddElement(ReverseSequenceOptions::VT_BATCH_DIM, batch_dim, 0); } explicit ReverseSequenceOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateReverseSequenceOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t seq_dim = 0, int32_t batch_dim = 0) { ReverseSequenceOptionsBuilder builder_(_fbb); builder_.add_batch_dim(batch_dim); builder_.add_seq_dim(seq_dim); return builder_.Finish(); } struct MatrixDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MatrixDiagOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct MatrixDiagOptionsBuilder { typedef MatrixDiagOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit MatrixDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMatrixDiagOptions( flatbuffers::FlatBufferBuilder &_fbb) { MatrixDiagOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct QuantizeOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef QuantizeOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct QuantizeOptionsBuilder { typedef QuantizeOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit QuantizeOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateQuantizeOptions( flatbuffers::FlatBufferBuilder &_fbb) { QuantizeOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct MatrixSetDiagOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MatrixSetDiagOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct MatrixSetDiagOptionsBuilder { typedef MatrixSetDiagOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit MatrixSetDiagOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMatrixSetDiagOptions( flatbuffers::FlatBufferBuilder &_fbb) { MatrixSetDiagOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct IfOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef IfOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_THEN_SUBGRAPH_INDEX = 4, VT_ELSE_SUBGRAPH_INDEX = 6 }; int32_t then_subgraph_index() const { return GetField(VT_THEN_SUBGRAPH_INDEX, 0); } int32_t else_subgraph_index() const { return GetField(VT_ELSE_SUBGRAPH_INDEX, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_THEN_SUBGRAPH_INDEX) && VerifyField(verifier, VT_ELSE_SUBGRAPH_INDEX) && verifier.EndTable(); } }; struct IfOptionsBuilder { typedef IfOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_then_subgraph_index(int32_t then_subgraph_index) { fbb_.AddElement(IfOptions::VT_THEN_SUBGRAPH_INDEX, then_subgraph_index, 0); } void add_else_subgraph_index(int32_t else_subgraph_index) { fbb_.AddElement(IfOptions::VT_ELSE_SUBGRAPH_INDEX, else_subgraph_index, 0); } explicit IfOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateIfOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t then_subgraph_index = 0, int32_t else_subgraph_index = 0) { IfOptionsBuilder builder_(_fbb); builder_.add_else_subgraph_index(else_subgraph_index); builder_.add_then_subgraph_index(then_subgraph_index); return builder_.Finish(); } struct WhileOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef WhileOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_COND_SUBGRAPH_INDEX = 4, VT_BODY_SUBGRAPH_INDEX = 6 }; int32_t cond_subgraph_index() const { return GetField(VT_COND_SUBGRAPH_INDEX, 0); } int32_t body_subgraph_index() const { return GetField(VT_BODY_SUBGRAPH_INDEX, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_COND_SUBGRAPH_INDEX) && VerifyField(verifier, VT_BODY_SUBGRAPH_INDEX) && verifier.EndTable(); } }; struct WhileOptionsBuilder { typedef WhileOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_cond_subgraph_index(int32_t cond_subgraph_index) { fbb_.AddElement(WhileOptions::VT_COND_SUBGRAPH_INDEX, cond_subgraph_index, 0); } void add_body_subgraph_index(int32_t body_subgraph_index) { fbb_.AddElement(WhileOptions::VT_BODY_SUBGRAPH_INDEX, body_subgraph_index, 0); } explicit WhileOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateWhileOptions( flatbuffers::FlatBufferBuilder &_fbb, int32_t cond_subgraph_index = 0, int32_t body_subgraph_index = 0) { WhileOptionsBuilder builder_(_fbb); builder_.add_body_subgraph_index(body_subgraph_index); builder_.add_cond_subgraph_index(cond_subgraph_index); return builder_.Finish(); } struct NonMaxSuppressionV4Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NonMaxSuppressionV4OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NonMaxSuppressionV4OptionsBuilder { typedef NonMaxSuppressionV4Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NonMaxSuppressionV4OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNonMaxSuppressionV4Options( flatbuffers::FlatBufferBuilder &_fbb) { NonMaxSuppressionV4OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct NonMaxSuppressionV5Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef NonMaxSuppressionV5OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct NonMaxSuppressionV5OptionsBuilder { typedef NonMaxSuppressionV5Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit NonMaxSuppressionV5OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateNonMaxSuppressionV5Options( flatbuffers::FlatBufferBuilder &_fbb) { NonMaxSuppressionV5OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct ScatterNdOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ScatterNdOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct ScatterNdOptionsBuilder { typedef ScatterNdOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit ScatterNdOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateScatterNdOptions( flatbuffers::FlatBufferBuilder &_fbb) { ScatterNdOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SelectV2Options FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SelectV2OptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SelectV2OptionsBuilder { typedef SelectV2Options Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SelectV2OptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSelectV2Options( flatbuffers::FlatBufferBuilder &_fbb) { SelectV2OptionsBuilder builder_(_fbb); return builder_.Finish(); } struct DensifyOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef DensifyOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct DensifyOptionsBuilder { typedef DensifyOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit DensifyOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateDensifyOptions( flatbuffers::FlatBufferBuilder &_fbb) { DensifyOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct SegmentSumOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SegmentSumOptionsBuilder Builder; bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && verifier.EndTable(); } }; struct SegmentSumOptionsBuilder { typedef SegmentSumOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; explicit SegmentSumOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSegmentSumOptions( flatbuffers::FlatBufferBuilder &_fbb) { SegmentSumOptionsBuilder builder_(_fbb); return builder_.Finish(); } struct BatchMatMulOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BatchMatMulOptionsBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ADJ_X = 4, VT_ADJ_Y = 6 }; bool adj_x() const { return GetField(VT_ADJ_X, 0) != 0; } bool adj_y() const { return GetField(VT_ADJ_Y, 0) != 0; } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_ADJ_X) && VerifyField(verifier, VT_ADJ_Y) && verifier.EndTable(); } }; struct BatchMatMulOptionsBuilder { typedef BatchMatMulOptions Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_adj_x(bool adj_x) { fbb_.AddElement(BatchMatMulOptions::VT_ADJ_X, static_cast(adj_x), 0); } void add_adj_y(bool adj_y) { fbb_.AddElement(BatchMatMulOptions::VT_ADJ_Y, static_cast(adj_y), 0); } explicit BatchMatMulOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBatchMatMulOptions( flatbuffers::FlatBufferBuilder &_fbb, bool adj_x = false, bool adj_y = false) { BatchMatMulOptionsBuilder builder_(_fbb); builder_.add_adj_y(adj_y); builder_.add_adj_x(adj_x); return builder_.Finish(); } struct OperatorCode FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef OperatorCodeBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_BUILTIN_CODE = 4, VT_CUSTOM_CODE = 6, VT_VERSION = 8 }; tflite::BuiltinOperator builtin_code() const { return static_cast(GetField(VT_BUILTIN_CODE, 0)); } const flatbuffers::String *custom_code() const { return GetPointer(VT_CUSTOM_CODE); } int32_t version() const { return GetField(VT_VERSION, 1); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_BUILTIN_CODE) && VerifyOffset(verifier, VT_CUSTOM_CODE) && verifier.VerifyString(custom_code()) && VerifyField(verifier, VT_VERSION) && verifier.EndTable(); } }; struct OperatorCodeBuilder { typedef OperatorCode Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_builtin_code(tflite::BuiltinOperator builtin_code) { fbb_.AddElement(OperatorCode::VT_BUILTIN_CODE, static_cast(builtin_code), 0); } void add_custom_code(flatbuffers::Offset custom_code) { fbb_.AddOffset(OperatorCode::VT_CUSTOM_CODE, custom_code); } void add_version(int32_t version) { fbb_.AddElement(OperatorCode::VT_VERSION, version, 1); } explicit OperatorCodeBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOperatorCode( flatbuffers::FlatBufferBuilder &_fbb, tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD, flatbuffers::Offset custom_code = 0, int32_t version = 1) { OperatorCodeBuilder builder_(_fbb); builder_.add_version(version); builder_.add_custom_code(custom_code); builder_.add_builtin_code(builtin_code); return builder_.Finish(); } inline flatbuffers::Offset CreateOperatorCodeDirect( flatbuffers::FlatBufferBuilder &_fbb, tflite::BuiltinOperator builtin_code = tflite::BuiltinOperator_ADD, const char *custom_code = nullptr, int32_t version = 1) { auto custom_code__ = custom_code ? _fbb.CreateString(custom_code) : 0; return tflite::CreateOperatorCode( _fbb, builtin_code, custom_code__, version); } struct Operator FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef OperatorBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_OPCODE_INDEX = 4, VT_INPUTS = 6, VT_OUTPUTS = 8, VT_BUILTIN_OPTIONS_TYPE = 10, VT_BUILTIN_OPTIONS = 12, VT_CUSTOM_OPTIONS = 14, VT_CUSTOM_OPTIONS_FORMAT = 16, VT_MUTATING_VARIABLE_INPUTS = 18, VT_INTERMEDIATES = 20 }; uint32_t opcode_index() const { return GetField(VT_OPCODE_INDEX, 0); } const flatbuffers::Vector *inputs() const { return GetPointer *>(VT_INPUTS); } const flatbuffers::Vector *outputs() const { return GetPointer *>(VT_OUTPUTS); } tflite::BuiltinOptions builtin_options_type() const { return static_cast(GetField(VT_BUILTIN_OPTIONS_TYPE, 0)); } const void *builtin_options() const { return GetPointer(VT_BUILTIN_OPTIONS); } template const T *builtin_options_as() const; const tflite::Conv2DOptions *builtin_options_as_Conv2DOptions() const { return builtin_options_type() == tflite::BuiltinOptions_Conv2DOptions ? static_cast(builtin_options()) : nullptr; } const tflite::DepthwiseConv2DOptions *builtin_options_as_DepthwiseConv2DOptions() const { return builtin_options_type() == tflite::BuiltinOptions_DepthwiseConv2DOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ConcatEmbeddingsOptions *builtin_options_as_ConcatEmbeddingsOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ConcatEmbeddingsOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LSHProjectionOptions *builtin_options_as_LSHProjectionOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LSHProjectionOptions ? static_cast(builtin_options()) : nullptr; } const tflite::Pool2DOptions *builtin_options_as_Pool2DOptions() const { return builtin_options_type() == tflite::BuiltinOptions_Pool2DOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SVDFOptions *builtin_options_as_SVDFOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SVDFOptions ? static_cast(builtin_options()) : nullptr; } const tflite::RNNOptions *builtin_options_as_RNNOptions() const { return builtin_options_type() == tflite::BuiltinOptions_RNNOptions ? static_cast(builtin_options()) : nullptr; } const tflite::FullyConnectedOptions *builtin_options_as_FullyConnectedOptions() const { return builtin_options_type() == tflite::BuiltinOptions_FullyConnectedOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SoftmaxOptions *builtin_options_as_SoftmaxOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SoftmaxOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ConcatenationOptions *builtin_options_as_ConcatenationOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ConcatenationOptions ? static_cast(builtin_options()) : nullptr; } const tflite::AddOptions *builtin_options_as_AddOptions() const { return builtin_options_type() == tflite::BuiltinOptions_AddOptions ? static_cast(builtin_options()) : nullptr; } const tflite::L2NormOptions *builtin_options_as_L2NormOptions() const { return builtin_options_type() == tflite::BuiltinOptions_L2NormOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LocalResponseNormalizationOptions *builtin_options_as_LocalResponseNormalizationOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LocalResponseNormalizationOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LSTMOptions *builtin_options_as_LSTMOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LSTMOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ResizeBilinearOptions *builtin_options_as_ResizeBilinearOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ResizeBilinearOptions ? static_cast(builtin_options()) : nullptr; } const tflite::CallOptions *builtin_options_as_CallOptions() const { return builtin_options_type() == tflite::BuiltinOptions_CallOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ReshapeOptions *builtin_options_as_ReshapeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ReshapeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SkipGramOptions *builtin_options_as_SkipGramOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SkipGramOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SpaceToDepthOptions *builtin_options_as_SpaceToDepthOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SpaceToDepthOptions ? static_cast(builtin_options()) : nullptr; } const tflite::EmbeddingLookupSparseOptions *builtin_options_as_EmbeddingLookupSparseOptions() const { return builtin_options_type() == tflite::BuiltinOptions_EmbeddingLookupSparseOptions ? static_cast(builtin_options()) : nullptr; } const tflite::MulOptions *builtin_options_as_MulOptions() const { return builtin_options_type() == tflite::BuiltinOptions_MulOptions ? static_cast(builtin_options()) : nullptr; } const tflite::PadOptions *builtin_options_as_PadOptions() const { return builtin_options_type() == tflite::BuiltinOptions_PadOptions ? static_cast(builtin_options()) : nullptr; } const tflite::GatherOptions *builtin_options_as_GatherOptions() const { return builtin_options_type() == tflite::BuiltinOptions_GatherOptions ? static_cast(builtin_options()) : nullptr; } const tflite::BatchToSpaceNDOptions *builtin_options_as_BatchToSpaceNDOptions() const { return builtin_options_type() == tflite::BuiltinOptions_BatchToSpaceNDOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SpaceToBatchNDOptions *builtin_options_as_SpaceToBatchNDOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SpaceToBatchNDOptions ? static_cast(builtin_options()) : nullptr; } const tflite::TransposeOptions *builtin_options_as_TransposeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_TransposeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ReducerOptions *builtin_options_as_ReducerOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ReducerOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SubOptions *builtin_options_as_SubOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SubOptions ? static_cast(builtin_options()) : nullptr; } const tflite::DivOptions *builtin_options_as_DivOptions() const { return builtin_options_type() == tflite::BuiltinOptions_DivOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SqueezeOptions *builtin_options_as_SqueezeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SqueezeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SequenceRNNOptions *builtin_options_as_SequenceRNNOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SequenceRNNOptions ? static_cast(builtin_options()) : nullptr; } const tflite::StridedSliceOptions *builtin_options_as_StridedSliceOptions() const { return builtin_options_type() == tflite::BuiltinOptions_StridedSliceOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ExpOptions *builtin_options_as_ExpOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ExpOptions ? static_cast(builtin_options()) : nullptr; } const tflite::TopKV2Options *builtin_options_as_TopKV2Options() const { return builtin_options_type() == tflite::BuiltinOptions_TopKV2Options ? static_cast(builtin_options()) : nullptr; } const tflite::SplitOptions *builtin_options_as_SplitOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SplitOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LogSoftmaxOptions *builtin_options_as_LogSoftmaxOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LogSoftmaxOptions ? static_cast(builtin_options()) : nullptr; } const tflite::CastOptions *builtin_options_as_CastOptions() const { return builtin_options_type() == tflite::BuiltinOptions_CastOptions ? static_cast(builtin_options()) : nullptr; } const tflite::DequantizeOptions *builtin_options_as_DequantizeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_DequantizeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::MaximumMinimumOptions *builtin_options_as_MaximumMinimumOptions() const { return builtin_options_type() == tflite::BuiltinOptions_MaximumMinimumOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ArgMaxOptions *builtin_options_as_ArgMaxOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ArgMaxOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LessOptions *builtin_options_as_LessOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LessOptions ? static_cast(builtin_options()) : nullptr; } const tflite::NegOptions *builtin_options_as_NegOptions() const { return builtin_options_type() == tflite::BuiltinOptions_NegOptions ? static_cast(builtin_options()) : nullptr; } const tflite::PadV2Options *builtin_options_as_PadV2Options() const { return builtin_options_type() == tflite::BuiltinOptions_PadV2Options ? static_cast(builtin_options()) : nullptr; } const tflite::GreaterOptions *builtin_options_as_GreaterOptions() const { return builtin_options_type() == tflite::BuiltinOptions_GreaterOptions ? static_cast(builtin_options()) : nullptr; } const tflite::GreaterEqualOptions *builtin_options_as_GreaterEqualOptions() const { return builtin_options_type() == tflite::BuiltinOptions_GreaterEqualOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LessEqualOptions *builtin_options_as_LessEqualOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LessEqualOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SelectOptions *builtin_options_as_SelectOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SelectOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SliceOptions *builtin_options_as_SliceOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SliceOptions ? static_cast(builtin_options()) : nullptr; } const tflite::TransposeConvOptions *builtin_options_as_TransposeConvOptions() const { return builtin_options_type() == tflite::BuiltinOptions_TransposeConvOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SparseToDenseOptions *builtin_options_as_SparseToDenseOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SparseToDenseOptions ? static_cast(builtin_options()) : nullptr; } const tflite::TileOptions *builtin_options_as_TileOptions() const { return builtin_options_type() == tflite::BuiltinOptions_TileOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ExpandDimsOptions *builtin_options_as_ExpandDimsOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ExpandDimsOptions ? static_cast(builtin_options()) : nullptr; } const tflite::EqualOptions *builtin_options_as_EqualOptions() const { return builtin_options_type() == tflite::BuiltinOptions_EqualOptions ? static_cast(builtin_options()) : nullptr; } const tflite::NotEqualOptions *builtin_options_as_NotEqualOptions() const { return builtin_options_type() == tflite::BuiltinOptions_NotEqualOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ShapeOptions *builtin_options_as_ShapeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ShapeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::PowOptions *builtin_options_as_PowOptions() const { return builtin_options_type() == tflite::BuiltinOptions_PowOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ArgMinOptions *builtin_options_as_ArgMinOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ArgMinOptions ? static_cast(builtin_options()) : nullptr; } const tflite::FakeQuantOptions *builtin_options_as_FakeQuantOptions() const { return builtin_options_type() == tflite::BuiltinOptions_FakeQuantOptions ? static_cast(builtin_options()) : nullptr; } const tflite::PackOptions *builtin_options_as_PackOptions() const { return builtin_options_type() == tflite::BuiltinOptions_PackOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LogicalOrOptions *builtin_options_as_LogicalOrOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LogicalOrOptions ? static_cast(builtin_options()) : nullptr; } const tflite::OneHotOptions *builtin_options_as_OneHotOptions() const { return builtin_options_type() == tflite::BuiltinOptions_OneHotOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LogicalAndOptions *builtin_options_as_LogicalAndOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LogicalAndOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LogicalNotOptions *builtin_options_as_LogicalNotOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LogicalNotOptions ? static_cast(builtin_options()) : nullptr; } const tflite::UnpackOptions *builtin_options_as_UnpackOptions() const { return builtin_options_type() == tflite::BuiltinOptions_UnpackOptions ? static_cast(builtin_options()) : nullptr; } const tflite::FloorDivOptions *builtin_options_as_FloorDivOptions() const { return builtin_options_type() == tflite::BuiltinOptions_FloorDivOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SquareOptions *builtin_options_as_SquareOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SquareOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ZerosLikeOptions *builtin_options_as_ZerosLikeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ZerosLikeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::FillOptions *builtin_options_as_FillOptions() const { return builtin_options_type() == tflite::BuiltinOptions_FillOptions ? static_cast(builtin_options()) : nullptr; } const tflite::BidirectionalSequenceLSTMOptions *builtin_options_as_BidirectionalSequenceLSTMOptions() const { return builtin_options_type() == tflite::BuiltinOptions_BidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; } const tflite::BidirectionalSequenceRNNOptions *builtin_options_as_BidirectionalSequenceRNNOptions() const { return builtin_options_type() == tflite::BuiltinOptions_BidirectionalSequenceRNNOptions ? static_cast(builtin_options()) : nullptr; } const tflite::UnidirectionalSequenceLSTMOptions *builtin_options_as_UnidirectionalSequenceLSTMOptions() const { return builtin_options_type() == tflite::BuiltinOptions_UnidirectionalSequenceLSTMOptions ? static_cast(builtin_options()) : nullptr; } const tflite::FloorModOptions *builtin_options_as_FloorModOptions() const { return builtin_options_type() == tflite::BuiltinOptions_FloorModOptions ? static_cast(builtin_options()) : nullptr; } const tflite::RangeOptions *builtin_options_as_RangeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_RangeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ResizeNearestNeighborOptions *builtin_options_as_ResizeNearestNeighborOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ResizeNearestNeighborOptions ? static_cast(builtin_options()) : nullptr; } const tflite::LeakyReluOptions *builtin_options_as_LeakyReluOptions() const { return builtin_options_type() == tflite::BuiltinOptions_LeakyReluOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SquaredDifferenceOptions *builtin_options_as_SquaredDifferenceOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SquaredDifferenceOptions ? static_cast(builtin_options()) : nullptr; } const tflite::MirrorPadOptions *builtin_options_as_MirrorPadOptions() const { return builtin_options_type() == tflite::BuiltinOptions_MirrorPadOptions ? static_cast(builtin_options()) : nullptr; } const tflite::AbsOptions *builtin_options_as_AbsOptions() const { return builtin_options_type() == tflite::BuiltinOptions_AbsOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SplitVOptions *builtin_options_as_SplitVOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SplitVOptions ? static_cast(builtin_options()) : nullptr; } const tflite::UniqueOptions *builtin_options_as_UniqueOptions() const { return builtin_options_type() == tflite::BuiltinOptions_UniqueOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ReverseV2Options *builtin_options_as_ReverseV2Options() const { return builtin_options_type() == tflite::BuiltinOptions_ReverseV2Options ? static_cast(builtin_options()) : nullptr; } const tflite::AddNOptions *builtin_options_as_AddNOptions() const { return builtin_options_type() == tflite::BuiltinOptions_AddNOptions ? static_cast(builtin_options()) : nullptr; } const tflite::GatherNdOptions *builtin_options_as_GatherNdOptions() const { return builtin_options_type() == tflite::BuiltinOptions_GatherNdOptions ? static_cast(builtin_options()) : nullptr; } const tflite::CosOptions *builtin_options_as_CosOptions() const { return builtin_options_type() == tflite::BuiltinOptions_CosOptions ? static_cast(builtin_options()) : nullptr; } const tflite::WhereOptions *builtin_options_as_WhereOptions() const { return builtin_options_type() == tflite::BuiltinOptions_WhereOptions ? static_cast(builtin_options()) : nullptr; } const tflite::RankOptions *builtin_options_as_RankOptions() const { return builtin_options_type() == tflite::BuiltinOptions_RankOptions ? static_cast(builtin_options()) : nullptr; } const tflite::ReverseSequenceOptions *builtin_options_as_ReverseSequenceOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ReverseSequenceOptions ? static_cast(builtin_options()) : nullptr; } const tflite::MatrixDiagOptions *builtin_options_as_MatrixDiagOptions() const { return builtin_options_type() == tflite::BuiltinOptions_MatrixDiagOptions ? static_cast(builtin_options()) : nullptr; } const tflite::QuantizeOptions *builtin_options_as_QuantizeOptions() const { return builtin_options_type() == tflite::BuiltinOptions_QuantizeOptions ? static_cast(builtin_options()) : nullptr; } const tflite::MatrixSetDiagOptions *builtin_options_as_MatrixSetDiagOptions() const { return builtin_options_type() == tflite::BuiltinOptions_MatrixSetDiagOptions ? static_cast(builtin_options()) : nullptr; } const tflite::HardSwishOptions *builtin_options_as_HardSwishOptions() const { return builtin_options_type() == tflite::BuiltinOptions_HardSwishOptions ? static_cast(builtin_options()) : nullptr; } const tflite::IfOptions *builtin_options_as_IfOptions() const { return builtin_options_type() == tflite::BuiltinOptions_IfOptions ? static_cast(builtin_options()) : nullptr; } const tflite::WhileOptions *builtin_options_as_WhileOptions() const { return builtin_options_type() == tflite::BuiltinOptions_WhileOptions ? static_cast(builtin_options()) : nullptr; } const tflite::DepthToSpaceOptions *builtin_options_as_DepthToSpaceOptions() const { return builtin_options_type() == tflite::BuiltinOptions_DepthToSpaceOptions ? static_cast(builtin_options()) : nullptr; } const tflite::NonMaxSuppressionV4Options *builtin_options_as_NonMaxSuppressionV4Options() const { return builtin_options_type() == tflite::BuiltinOptions_NonMaxSuppressionV4Options ? static_cast(builtin_options()) : nullptr; } const tflite::NonMaxSuppressionV5Options *builtin_options_as_NonMaxSuppressionV5Options() const { return builtin_options_type() == tflite::BuiltinOptions_NonMaxSuppressionV5Options ? static_cast(builtin_options()) : nullptr; } const tflite::ScatterNdOptions *builtin_options_as_ScatterNdOptions() const { return builtin_options_type() == tflite::BuiltinOptions_ScatterNdOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SelectV2Options *builtin_options_as_SelectV2Options() const { return builtin_options_type() == tflite::BuiltinOptions_SelectV2Options ? static_cast(builtin_options()) : nullptr; } const tflite::DensifyOptions *builtin_options_as_DensifyOptions() const { return builtin_options_type() == tflite::BuiltinOptions_DensifyOptions ? static_cast(builtin_options()) : nullptr; } const tflite::SegmentSumOptions *builtin_options_as_SegmentSumOptions() const { return builtin_options_type() == tflite::BuiltinOptions_SegmentSumOptions ? static_cast(builtin_options()) : nullptr; } const tflite::BatchMatMulOptions *builtin_options_as_BatchMatMulOptions() const { return builtin_options_type() == tflite::BuiltinOptions_BatchMatMulOptions ? static_cast(builtin_options()) : nullptr; } const flatbuffers::Vector *custom_options() const { return GetPointer *>(VT_CUSTOM_OPTIONS); } tflite::CustomOptionsFormat custom_options_format() const { return static_cast(GetField(VT_CUSTOM_OPTIONS_FORMAT, 0)); } const flatbuffers::Vector *mutating_variable_inputs() const { return GetPointer *>(VT_MUTATING_VARIABLE_INPUTS); } const flatbuffers::Vector *intermediates() const { return GetPointer *>(VT_INTERMEDIATES); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_OPCODE_INDEX) && VerifyOffset(verifier, VT_INPUTS) && verifier.VerifyVector(inputs()) && VerifyOffset(verifier, VT_OUTPUTS) && verifier.VerifyVector(outputs()) && VerifyField(verifier, VT_BUILTIN_OPTIONS_TYPE) && VerifyOffset(verifier, VT_BUILTIN_OPTIONS) && VerifyBuiltinOptions(verifier, builtin_options(), builtin_options_type()) && VerifyOffset(verifier, VT_CUSTOM_OPTIONS) && verifier.VerifyVector(custom_options()) && VerifyField(verifier, VT_CUSTOM_OPTIONS_FORMAT) && VerifyOffset(verifier, VT_MUTATING_VARIABLE_INPUTS) && verifier.VerifyVector(mutating_variable_inputs()) && VerifyOffset(verifier, VT_INTERMEDIATES) && verifier.VerifyVector(intermediates()) && verifier.EndTable(); } }; template<> inline const tflite::Conv2DOptions *Operator::builtin_options_as() const { return builtin_options_as_Conv2DOptions(); } template<> inline const tflite::DepthwiseConv2DOptions *Operator::builtin_options_as() const { return builtin_options_as_DepthwiseConv2DOptions(); } template<> inline const tflite::ConcatEmbeddingsOptions *Operator::builtin_options_as() const { return builtin_options_as_ConcatEmbeddingsOptions(); } template<> inline const tflite::LSHProjectionOptions *Operator::builtin_options_as() const { return builtin_options_as_LSHProjectionOptions(); } template<> inline const tflite::Pool2DOptions *Operator::builtin_options_as() const { return builtin_options_as_Pool2DOptions(); } template<> inline const tflite::SVDFOptions *Operator::builtin_options_as() const { return builtin_options_as_SVDFOptions(); } template<> inline const tflite::RNNOptions *Operator::builtin_options_as() const { return builtin_options_as_RNNOptions(); } template<> inline const tflite::FullyConnectedOptions *Operator::builtin_options_as() const { return builtin_options_as_FullyConnectedOptions(); } template<> inline const tflite::SoftmaxOptions *Operator::builtin_options_as() const { return builtin_options_as_SoftmaxOptions(); } template<> inline const tflite::ConcatenationOptions *Operator::builtin_options_as() const { return builtin_options_as_ConcatenationOptions(); } template<> inline const tflite::AddOptions *Operator::builtin_options_as() const { return builtin_options_as_AddOptions(); } template<> inline const tflite::L2NormOptions *Operator::builtin_options_as() const { return builtin_options_as_L2NormOptions(); } template<> inline const tflite::LocalResponseNormalizationOptions *Operator::builtin_options_as() const { return builtin_options_as_LocalResponseNormalizationOptions(); } template<> inline const tflite::LSTMOptions *Operator::builtin_options_as() const { return builtin_options_as_LSTMOptions(); } template<> inline const tflite::ResizeBilinearOptions *Operator::builtin_options_as() const { return builtin_options_as_ResizeBilinearOptions(); } template<> inline const tflite::CallOptions *Operator::builtin_options_as() const { return builtin_options_as_CallOptions(); } template<> inline const tflite::ReshapeOptions *Operator::builtin_options_as() const { return builtin_options_as_ReshapeOptions(); } template<> inline const tflite::SkipGramOptions *Operator::builtin_options_as() const { return builtin_options_as_SkipGramOptions(); } template<> inline const tflite::SpaceToDepthOptions *Operator::builtin_options_as() const { return builtin_options_as_SpaceToDepthOptions(); } template<> inline const tflite::EmbeddingLookupSparseOptions *Operator::builtin_options_as() const { return builtin_options_as_EmbeddingLookupSparseOptions(); } template<> inline const tflite::MulOptions *Operator::builtin_options_as() const { return builtin_options_as_MulOptions(); } template<> inline const tflite::PadOptions *Operator::builtin_options_as() const { return builtin_options_as_PadOptions(); } template<> inline const tflite::GatherOptions *Operator::builtin_options_as() const { return builtin_options_as_GatherOptions(); } template<> inline const tflite::BatchToSpaceNDOptions *Operator::builtin_options_as() const { return builtin_options_as_BatchToSpaceNDOptions(); } template<> inline const tflite::SpaceToBatchNDOptions *Operator::builtin_options_as() const { return builtin_options_as_SpaceToBatchNDOptions(); } template<> inline const tflite::TransposeOptions *Operator::builtin_options_as() const { return builtin_options_as_TransposeOptions(); } template<> inline const tflite::ReducerOptions *Operator::builtin_options_as() const { return builtin_options_as_ReducerOptions(); } template<> inline const tflite::SubOptions *Operator::builtin_options_as() const { return builtin_options_as_SubOptions(); } template<> inline const tflite::DivOptions *Operator::builtin_options_as() const { return builtin_options_as_DivOptions(); } template<> inline const tflite::SqueezeOptions *Operator::builtin_options_as() const { return builtin_options_as_SqueezeOptions(); } template<> inline const tflite::SequenceRNNOptions *Operator::builtin_options_as() const { return builtin_options_as_SequenceRNNOptions(); } template<> inline const tflite::StridedSliceOptions *Operator::builtin_options_as() const { return builtin_options_as_StridedSliceOptions(); } template<> inline const tflite::ExpOptions *Operator::builtin_options_as() const { return builtin_options_as_ExpOptions(); } template<> inline const tflite::TopKV2Options *Operator::builtin_options_as() const { return builtin_options_as_TopKV2Options(); } template<> inline const tflite::SplitOptions *Operator::builtin_options_as() const { return builtin_options_as_SplitOptions(); } template<> inline const tflite::LogSoftmaxOptions *Operator::builtin_options_as() const { return builtin_options_as_LogSoftmaxOptions(); } template<> inline const tflite::CastOptions *Operator::builtin_options_as() const { return builtin_options_as_CastOptions(); } template<> inline const tflite::DequantizeOptions *Operator::builtin_options_as() const { return builtin_options_as_DequantizeOptions(); } template<> inline const tflite::MaximumMinimumOptions *Operator::builtin_options_as() const { return builtin_options_as_MaximumMinimumOptions(); } template<> inline const tflite::ArgMaxOptions *Operator::builtin_options_as() const { return builtin_options_as_ArgMaxOptions(); } template<> inline const tflite::LessOptions *Operator::builtin_options_as() const { return builtin_options_as_LessOptions(); } template<> inline const tflite::NegOptions *Operator::builtin_options_as() const { return builtin_options_as_NegOptions(); } template<> inline const tflite::PadV2Options *Operator::builtin_options_as() const { return builtin_options_as_PadV2Options(); } template<> inline const tflite::GreaterOptions *Operator::builtin_options_as() const { return builtin_options_as_GreaterOptions(); } template<> inline const tflite::GreaterEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_GreaterEqualOptions(); } template<> inline const tflite::LessEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_LessEqualOptions(); } template<> inline const tflite::SelectOptions *Operator::builtin_options_as() const { return builtin_options_as_SelectOptions(); } template<> inline const tflite::SliceOptions *Operator::builtin_options_as() const { return builtin_options_as_SliceOptions(); } template<> inline const tflite::TransposeConvOptions *Operator::builtin_options_as() const { return builtin_options_as_TransposeConvOptions(); } template<> inline const tflite::SparseToDenseOptions *Operator::builtin_options_as() const { return builtin_options_as_SparseToDenseOptions(); } template<> inline const tflite::TileOptions *Operator::builtin_options_as() const { return builtin_options_as_TileOptions(); } template<> inline const tflite::ExpandDimsOptions *Operator::builtin_options_as() const { return builtin_options_as_ExpandDimsOptions(); } template<> inline const tflite::EqualOptions *Operator::builtin_options_as() const { return builtin_options_as_EqualOptions(); } template<> inline const tflite::NotEqualOptions *Operator::builtin_options_as() const { return builtin_options_as_NotEqualOptions(); } template<> inline const tflite::ShapeOptions *Operator::builtin_options_as() const { return builtin_options_as_ShapeOptions(); } template<> inline const tflite::PowOptions *Operator::builtin_options_as() const { return builtin_options_as_PowOptions(); } template<> inline const tflite::ArgMinOptions *Operator::builtin_options_as() const { return builtin_options_as_ArgMinOptions(); } template<> inline const tflite::FakeQuantOptions *Operator::builtin_options_as() const { return builtin_options_as_FakeQuantOptions(); } template<> inline const tflite::PackOptions *Operator::builtin_options_as() const { return builtin_options_as_PackOptions(); } template<> inline const tflite::LogicalOrOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalOrOptions(); } template<> inline const tflite::OneHotOptions *Operator::builtin_options_as() const { return builtin_options_as_OneHotOptions(); } template<> inline const tflite::LogicalAndOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalAndOptions(); } template<> inline const tflite::LogicalNotOptions *Operator::builtin_options_as() const { return builtin_options_as_LogicalNotOptions(); } template<> inline const tflite::UnpackOptions *Operator::builtin_options_as() const { return builtin_options_as_UnpackOptions(); } template<> inline const tflite::FloorDivOptions *Operator::builtin_options_as() const { return builtin_options_as_FloorDivOptions(); } template<> inline const tflite::SquareOptions *Operator::builtin_options_as() const { return builtin_options_as_SquareOptions(); } template<> inline const tflite::ZerosLikeOptions *Operator::builtin_options_as() const { return builtin_options_as_ZerosLikeOptions(); } template<> inline const tflite::FillOptions *Operator::builtin_options_as() const { return builtin_options_as_FillOptions(); } template<> inline const tflite::BidirectionalSequenceLSTMOptions *Operator::builtin_options_as() const { return builtin_options_as_BidirectionalSequenceLSTMOptions(); } template<> inline const tflite::BidirectionalSequenceRNNOptions *Operator::builtin_options_as() const { return builtin_options_as_BidirectionalSequenceRNNOptions(); } template<> inline const tflite::UnidirectionalSequenceLSTMOptions *Operator::builtin_options_as() const { return builtin_options_as_UnidirectionalSequenceLSTMOptions(); } template<> inline const tflite::FloorModOptions *Operator::builtin_options_as() const { return builtin_options_as_FloorModOptions(); } template<> inline const tflite::RangeOptions *Operator::builtin_options_as() const { return builtin_options_as_RangeOptions(); } template<> inline const tflite::ResizeNearestNeighborOptions *Operator::builtin_options_as() const { return builtin_options_as_ResizeNearestNeighborOptions(); } template<> inline const tflite::LeakyReluOptions *Operator::builtin_options_as() const { return builtin_options_as_LeakyReluOptions(); } template<> inline const tflite::SquaredDifferenceOptions *Operator::builtin_options_as() const { return builtin_options_as_SquaredDifferenceOptions(); } template<> inline const tflite::MirrorPadOptions *Operator::builtin_options_as() const { return builtin_options_as_MirrorPadOptions(); } template<> inline const tflite::AbsOptions *Operator::builtin_options_as() const { return builtin_options_as_AbsOptions(); } template<> inline const tflite::SplitVOptions *Operator::builtin_options_as() const { return builtin_options_as_SplitVOptions(); } template<> inline const tflite::UniqueOptions *Operator::builtin_options_as() const { return builtin_options_as_UniqueOptions(); } template<> inline const tflite::ReverseV2Options *Operator::builtin_options_as() const { return builtin_options_as_ReverseV2Options(); } template<> inline const tflite::AddNOptions *Operator::builtin_options_as() const { return builtin_options_as_AddNOptions(); } template<> inline const tflite::GatherNdOptions *Operator::builtin_options_as() const { return builtin_options_as_GatherNdOptions(); } template<> inline const tflite::CosOptions *Operator::builtin_options_as() const { return builtin_options_as_CosOptions(); } template<> inline const tflite::WhereOptions *Operator::builtin_options_as() const { return builtin_options_as_WhereOptions(); } template<> inline const tflite::RankOptions *Operator::builtin_options_as() const { return builtin_options_as_RankOptions(); } template<> inline const tflite::ReverseSequenceOptions *Operator::builtin_options_as() const { return builtin_options_as_ReverseSequenceOptions(); } template<> inline const tflite::MatrixDiagOptions *Operator::builtin_options_as() const { return builtin_options_as_MatrixDiagOptions(); } template<> inline const tflite::QuantizeOptions *Operator::builtin_options_as() const { return builtin_options_as_QuantizeOptions(); } template<> inline const tflite::MatrixSetDiagOptions *Operator::builtin_options_as() const { return builtin_options_as_MatrixSetDiagOptions(); } template<> inline const tflite::HardSwishOptions *Operator::builtin_options_as() const { return builtin_options_as_HardSwishOptions(); } template<> inline const tflite::IfOptions *Operator::builtin_options_as() const { return builtin_options_as_IfOptions(); } template<> inline const tflite::WhileOptions *Operator::builtin_options_as() const { return builtin_options_as_WhileOptions(); } template<> inline const tflite::DepthToSpaceOptions *Operator::builtin_options_as() const { return builtin_options_as_DepthToSpaceOptions(); } template<> inline const tflite::NonMaxSuppressionV4Options *Operator::builtin_options_as() const { return builtin_options_as_NonMaxSuppressionV4Options(); } template<> inline const tflite::NonMaxSuppressionV5Options *Operator::builtin_options_as() const { return builtin_options_as_NonMaxSuppressionV5Options(); } template<> inline const tflite::ScatterNdOptions *Operator::builtin_options_as() const { return builtin_options_as_ScatterNdOptions(); } template<> inline const tflite::SelectV2Options *Operator::builtin_options_as() const { return builtin_options_as_SelectV2Options(); } template<> inline const tflite::DensifyOptions *Operator::builtin_options_as() const { return builtin_options_as_DensifyOptions(); } template<> inline const tflite::SegmentSumOptions *Operator::builtin_options_as() const { return builtin_options_as_SegmentSumOptions(); } template<> inline const tflite::BatchMatMulOptions *Operator::builtin_options_as() const { return builtin_options_as_BatchMatMulOptions(); } struct OperatorBuilder { typedef Operator Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_opcode_index(uint32_t opcode_index) { fbb_.AddElement(Operator::VT_OPCODE_INDEX, opcode_index, 0); } void add_inputs(flatbuffers::Offset> inputs) { fbb_.AddOffset(Operator::VT_INPUTS, inputs); } void add_outputs(flatbuffers::Offset> outputs) { fbb_.AddOffset(Operator::VT_OUTPUTS, outputs); } void add_builtin_options_type(tflite::BuiltinOptions builtin_options_type) { fbb_.AddElement(Operator::VT_BUILTIN_OPTIONS_TYPE, static_cast(builtin_options_type), 0); } void add_builtin_options(flatbuffers::Offset builtin_options) { fbb_.AddOffset(Operator::VT_BUILTIN_OPTIONS, builtin_options); } void add_custom_options(flatbuffers::Offset> custom_options) { fbb_.AddOffset(Operator::VT_CUSTOM_OPTIONS, custom_options); } void add_custom_options_format(tflite::CustomOptionsFormat custom_options_format) { fbb_.AddElement(Operator::VT_CUSTOM_OPTIONS_FORMAT, static_cast(custom_options_format), 0); } void add_mutating_variable_inputs(flatbuffers::Offset> mutating_variable_inputs) { fbb_.AddOffset(Operator::VT_MUTATING_VARIABLE_INPUTS, mutating_variable_inputs); } void add_intermediates(flatbuffers::Offset> intermediates) { fbb_.AddOffset(Operator::VT_INTERMEDIATES, intermediates); } explicit OperatorBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateOperator( flatbuffers::FlatBufferBuilder &_fbb, uint32_t opcode_index = 0, flatbuffers::Offset> inputs = 0, flatbuffers::Offset> outputs = 0, tflite::BuiltinOptions builtin_options_type = tflite::BuiltinOptions_NONE, flatbuffers::Offset builtin_options = 0, flatbuffers::Offset> custom_options = 0, tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS, flatbuffers::Offset> mutating_variable_inputs = 0, flatbuffers::Offset> intermediates = 0) { OperatorBuilder builder_(_fbb); builder_.add_intermediates(intermediates); builder_.add_mutating_variable_inputs(mutating_variable_inputs); builder_.add_custom_options(custom_options); builder_.add_builtin_options(builtin_options); builder_.add_outputs(outputs); builder_.add_inputs(inputs); builder_.add_opcode_index(opcode_index); builder_.add_custom_options_format(custom_options_format); builder_.add_builtin_options_type(builtin_options_type); return builder_.Finish(); } inline flatbuffers::Offset CreateOperatorDirect( flatbuffers::FlatBufferBuilder &_fbb, uint32_t opcode_index = 0, const std::vector *inputs = nullptr, const std::vector *outputs = nullptr, tflite::BuiltinOptions builtin_options_type = tflite::BuiltinOptions_NONE, flatbuffers::Offset builtin_options = 0, const std::vector *custom_options = nullptr, tflite::CustomOptionsFormat custom_options_format = tflite::CustomOptionsFormat_FLEXBUFFERS, const std::vector *mutating_variable_inputs = nullptr, const std::vector *intermediates = nullptr) { auto inputs__ = inputs ? _fbb.CreateVector(*inputs) : 0; auto outputs__ = outputs ? _fbb.CreateVector(*outputs) : 0; auto custom_options__ = custom_options ? _fbb.CreateVector(*custom_options) : 0; auto mutating_variable_inputs__ = mutating_variable_inputs ? _fbb.CreateVector(*mutating_variable_inputs) : 0; auto intermediates__ = intermediates ? _fbb.CreateVector(*intermediates) : 0; return tflite::CreateOperator( _fbb, opcode_index, inputs__, outputs__, builtin_options_type, builtin_options, custom_options__, custom_options_format, mutating_variable_inputs__, intermediates__); } struct SubGraph FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef SubGraphBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_TENSORS = 4, VT_INPUTS = 6, VT_OUTPUTS = 8, VT_OPERATORS = 10, VT_NAME = 12 }; const flatbuffers::Vector> *tensors() const { return GetPointer> *>(VT_TENSORS); } const flatbuffers::Vector *inputs() const { return GetPointer *>(VT_INPUTS); } const flatbuffers::Vector *outputs() const { return GetPointer *>(VT_OUTPUTS); } const flatbuffers::Vector> *operators() const { return GetPointer> *>(VT_OPERATORS); } const flatbuffers::String *name() const { return GetPointer(VT_NAME); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_TENSORS) && verifier.VerifyVector(tensors()) && verifier.VerifyVectorOfTables(tensors()) && VerifyOffset(verifier, VT_INPUTS) && verifier.VerifyVector(inputs()) && VerifyOffset(verifier, VT_OUTPUTS) && verifier.VerifyVector(outputs()) && VerifyOffset(verifier, VT_OPERATORS) && verifier.VerifyVector(operators()) && verifier.VerifyVectorOfTables(operators()) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && verifier.EndTable(); } }; struct SubGraphBuilder { typedef SubGraph Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_tensors(flatbuffers::Offset>> tensors) { fbb_.AddOffset(SubGraph::VT_TENSORS, tensors); } void add_inputs(flatbuffers::Offset> inputs) { fbb_.AddOffset(SubGraph::VT_INPUTS, inputs); } void add_outputs(flatbuffers::Offset> outputs) { fbb_.AddOffset(SubGraph::VT_OUTPUTS, outputs); } void add_operators(flatbuffers::Offset>> operators) { fbb_.AddOffset(SubGraph::VT_OPERATORS, operators); } void add_name(flatbuffers::Offset name) { fbb_.AddOffset(SubGraph::VT_NAME, name); } explicit SubGraphBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateSubGraph( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset>> tensors = 0, flatbuffers::Offset> inputs = 0, flatbuffers::Offset> outputs = 0, flatbuffers::Offset>> operators = 0, flatbuffers::Offset name = 0) { SubGraphBuilder builder_(_fbb); builder_.add_name(name); builder_.add_operators(operators); builder_.add_outputs(outputs); builder_.add_inputs(inputs); builder_.add_tensors(tensors); return builder_.Finish(); } inline flatbuffers::Offset CreateSubGraphDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector> *tensors = nullptr, const std::vector *inputs = nullptr, const std::vector *outputs = nullptr, const std::vector> *operators = nullptr, const char *name = nullptr) { auto tensors__ = tensors ? _fbb.CreateVector>(*tensors) : 0; auto inputs__ = inputs ? _fbb.CreateVector(*inputs) : 0; auto outputs__ = outputs ? _fbb.CreateVector(*outputs) : 0; auto operators__ = operators ? _fbb.CreateVector>(*operators) : 0; auto name__ = name ? _fbb.CreateString(name) : 0; return tflite::CreateSubGraph( _fbb, tensors__, inputs__, outputs__, operators__, name__); } struct Buffer FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef BufferBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_DATA = 4 }; const flatbuffers::Vector *data() const { return GetPointer *>(VT_DATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_DATA) && verifier.VerifyVector(data()) && verifier.EndTable(); } }; struct BufferBuilder { typedef Buffer Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_data(flatbuffers::Offset> data) { fbb_.AddOffset(Buffer::VT_DATA, data); } explicit BufferBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateBuffer( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset> data = 0) { BufferBuilder builder_(_fbb); builder_.add_data(data); return builder_.Finish(); } inline flatbuffers::Offset CreateBufferDirect( flatbuffers::FlatBufferBuilder &_fbb, const std::vector *data = nullptr) { if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 16); } auto data__ = data ? _fbb.CreateVector(*data) : 0; return tflite::CreateBuffer( _fbb, data__); } struct Metadata FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef MetadataBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_NAME = 4, VT_BUFFER = 6 }; const flatbuffers::String *name() const { return GetPointer(VT_NAME); } uint32_t buffer() const { return GetField(VT_BUFFER, 0); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_NAME) && verifier.VerifyString(name()) && VerifyField(verifier, VT_BUFFER) && verifier.EndTable(); } }; struct MetadataBuilder { typedef Metadata Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_name(flatbuffers::Offset name) { fbb_.AddOffset(Metadata::VT_NAME, name); } void add_buffer(uint32_t buffer) { fbb_.AddElement(Metadata::VT_BUFFER, buffer, 0); } explicit MetadataBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateMetadata( flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset name = 0, uint32_t buffer = 0) { MetadataBuilder builder_(_fbb); builder_.add_buffer(buffer); builder_.add_name(name); return builder_.Finish(); } inline flatbuffers::Offset CreateMetadataDirect( flatbuffers::FlatBufferBuilder &_fbb, const char *name = nullptr, uint32_t buffer = 0) { auto name__ = name ? _fbb.CreateString(name) : 0; return tflite::CreateMetadata( _fbb, name__, buffer); } struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { typedef ModelBuilder Builder; enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_VERSION = 4, VT_OPERATOR_CODES = 6, VT_SUBGRAPHS = 8, VT_DESCRIPTION = 10, VT_BUFFERS = 12, VT_METADATA_BUFFER = 14, VT_METADATA = 16 }; uint32_t version() const { return GetField(VT_VERSION, 0); } const flatbuffers::Vector> *operator_codes() const { return GetPointer> *>(VT_OPERATOR_CODES); } const flatbuffers::Vector> *subgraphs() const { return GetPointer> *>(VT_SUBGRAPHS); } const flatbuffers::String *description() const { return GetPointer(VT_DESCRIPTION); } const flatbuffers::Vector> *buffers() const { return GetPointer> *>(VT_BUFFERS); } const flatbuffers::Vector *metadata_buffer() const { return GetPointer *>(VT_METADATA_BUFFER); } const flatbuffers::Vector> *metadata() const { return GetPointer> *>(VT_METADATA); } bool Verify(flatbuffers::Verifier &verifier) const { return VerifyTableStart(verifier) && VerifyField(verifier, VT_VERSION) && VerifyOffset(verifier, VT_OPERATOR_CODES) && verifier.VerifyVector(operator_codes()) && verifier.VerifyVectorOfTables(operator_codes()) && VerifyOffset(verifier, VT_SUBGRAPHS) && verifier.VerifyVector(subgraphs()) && verifier.VerifyVectorOfTables(subgraphs()) && VerifyOffset(verifier, VT_DESCRIPTION) && verifier.VerifyString(description()) && VerifyOffset(verifier, VT_BUFFERS) && verifier.VerifyVector(buffers()) && verifier.VerifyVectorOfTables(buffers()) && VerifyOffset(verifier, VT_METADATA_BUFFER) && verifier.VerifyVector(metadata_buffer()) && VerifyOffset(verifier, VT_METADATA) && verifier.VerifyVector(metadata()) && verifier.VerifyVectorOfTables(metadata()) && verifier.EndTable(); } }; struct ModelBuilder { typedef Model Table; flatbuffers::FlatBufferBuilder &fbb_; flatbuffers::uoffset_t start_; void add_version(uint32_t version) { fbb_.AddElement(Model::VT_VERSION, version, 0); } void add_operator_codes(flatbuffers::Offset>> operator_codes) { fbb_.AddOffset(Model::VT_OPERATOR_CODES, operator_codes); } void add_subgraphs(flatbuffers::Offset>> subgraphs) { fbb_.AddOffset(Model::VT_SUBGRAPHS, subgraphs); } void add_description(flatbuffers::Offset description) { fbb_.AddOffset(Model::VT_DESCRIPTION, description); } void add_buffers(flatbuffers::Offset>> buffers) { fbb_.AddOffset(Model::VT_BUFFERS, buffers); } void add_metadata_buffer(flatbuffers::Offset> metadata_buffer) { fbb_.AddOffset(Model::VT_METADATA_BUFFER, metadata_buffer); } void add_metadata(flatbuffers::Offset>> metadata) { fbb_.AddOffset(Model::VT_METADATA, metadata); } explicit ModelBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = flatbuffers::Offset(end); return o; } }; inline flatbuffers::Offset CreateModel( flatbuffers::FlatBufferBuilder &_fbb, uint32_t version = 0, flatbuffers::Offset>> operator_codes = 0, flatbuffers::Offset>> subgraphs = 0, flatbuffers::Offset description = 0, flatbuffers::Offset>> buffers = 0, flatbuffers::Offset> metadata_buffer = 0, flatbuffers::Offset>> metadata = 0) { ModelBuilder builder_(_fbb); builder_.add_metadata(metadata); builder_.add_metadata_buffer(metadata_buffer); builder_.add_buffers(buffers); builder_.add_description(description); builder_.add_subgraphs(subgraphs); builder_.add_operator_codes(operator_codes); builder_.add_version(version); return builder_.Finish(); } inline flatbuffers::Offset CreateModelDirect( flatbuffers::FlatBufferBuilder &_fbb, uint32_t version = 0, const std::vector> *operator_codes = nullptr, const std::vector> *subgraphs = nullptr, const char *description = nullptr, const std::vector> *buffers = nullptr, const std::vector *metadata_buffer = nullptr, const std::vector> *metadata = nullptr) { auto operator_codes__ = operator_codes ? _fbb.CreateVector>(*operator_codes) : 0; auto subgraphs__ = subgraphs ? _fbb.CreateVector>(*subgraphs) : 0; auto description__ = description ? _fbb.CreateString(description) : 0; auto buffers__ = buffers ? _fbb.CreateVector>(*buffers) : 0; auto metadata_buffer__ = metadata_buffer ? _fbb.CreateVector(*metadata_buffer) : 0; auto metadata__ = metadata ? _fbb.CreateVector>(*metadata) : 0; return tflite::CreateModel( _fbb, version, operator_codes__, subgraphs__, description__, buffers__, metadata_buffer__, metadata__); } inline bool VerifyQuantizationDetails(flatbuffers::Verifier &verifier, const void *obj, QuantizationDetails type) { switch (type) { case QuantizationDetails_NONE: { return true; } case QuantizationDetails_CustomQuantization: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return true; } } inline bool VerifyQuantizationDetailsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyQuantizationDetails( verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline bool VerifySparseIndexVector(flatbuffers::Verifier &verifier, const void *obj, SparseIndexVector type) { switch (type) { case SparseIndexVector_NONE: { return true; } case SparseIndexVector_Int32Vector: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case SparseIndexVector_Uint16Vector: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case SparseIndexVector_Uint8Vector: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return true; } } inline bool VerifySparseIndexVectorVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifySparseIndexVector( verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline bool VerifyBuiltinOptions(flatbuffers::Verifier &verifier, const void *obj, BuiltinOptions type) { switch (type) { case BuiltinOptions_NONE: { return true; } case BuiltinOptions_Conv2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DepthwiseConv2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ConcatEmbeddingsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LSHProjectionOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_Pool2DOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SVDFOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_RNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FullyConnectedOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SoftmaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ConcatenationOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_AddOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_L2NormOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LocalResponseNormalizationOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ResizeBilinearOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_CallOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReshapeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SkipGramOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SpaceToDepthOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_EmbeddingLookupSparseOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MulOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PadOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GatherOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BatchToSpaceNDOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SpaceToBatchNDOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TransposeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReducerOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SubOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DivOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SqueezeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SequenceRNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_StridedSliceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ExpOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TopKV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SplitOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogSoftmaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_CastOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DequantizeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MaximumMinimumOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ArgMaxOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LessOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NegOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PadV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GreaterOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GreaterEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LessEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SelectOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SliceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TransposeConvOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SparseToDenseOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_TileOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ExpandDimsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_EqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NotEqualOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ShapeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PowOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ArgMinOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FakeQuantOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_PackOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalOrOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_OneHotOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalAndOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LogicalNotOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_UnpackOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FloorDivOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SquareOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ZerosLikeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FillOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BidirectionalSequenceLSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BidirectionalSequenceRNNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_UnidirectionalSequenceLSTMOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_FloorModOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_RangeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ResizeNearestNeighborOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_LeakyReluOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SquaredDifferenceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MirrorPadOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_AbsOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SplitVOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_UniqueOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReverseV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_AddNOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_GatherNdOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_CosOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_WhereOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_RankOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ReverseSequenceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MatrixDiagOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_QuantizeOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_MatrixSetDiagOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_HardSwishOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_IfOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_WhileOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DepthToSpaceOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NonMaxSuppressionV4Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_NonMaxSuppressionV5Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_ScatterNdOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SelectV2Options: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_DensifyOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_SegmentSumOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } case BuiltinOptions_BatchMatMulOptions: { auto ptr = reinterpret_cast(obj); return verifier.VerifyTable(ptr); } default: return true; } } inline bool VerifyBuiltinOptionsVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector> *values, const flatbuffers::Vector *types) { if (!values || !types) return !values && !types; if (values->size() != types->size()) return false; for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { if (!VerifyBuiltinOptions( verifier, values->Get(i), types->GetEnum(i))) { return false; } } return true; } inline const tflite::Model *GetModel(const void *buf) { return flatbuffers::GetRoot(buf); } inline const tflite::Model *GetSizePrefixedModel(const void *buf) { return flatbuffers::GetSizePrefixedRoot(buf); } inline const char *ModelIdentifier() { return "TFL3"; } inline bool ModelBufferHasIdentifier(const void *buf) { return flatbuffers::BufferHasIdentifier( buf, ModelIdentifier()); } inline bool VerifyModelBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifyBuffer(ModelIdentifier()); } inline bool VerifySizePrefixedModelBuffer( flatbuffers::Verifier &verifier) { return verifier.VerifySizePrefixedBuffer(ModelIdentifier()); } inline const char *ModelExtension() { return "tflite"; } inline void FinishModelBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.Finish(root, ModelIdentifier()); } inline void FinishSizePrefixedModelBuffer( flatbuffers::FlatBufferBuilder &fbb, flatbuffers::Offset root) { fbb.FinishSizePrefixed(root, ModelIdentifier()); } } // namespace tflite #endif // FLATBUFFERS_GENERATED_SCHEMA_TFLITE_H_