1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_MODEL_LIBTEXTCLASSIFIER3_SAFT_FBS_H_
5 #define FLATBUFFERS_GENERATED_MODEL_LIBTEXTCLASSIFIER3_SAFT_FBS_H_
6
7 #include "flatbuffers/flatbuffers.h"
8
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
12 FLATBUFFERS_VERSION_MINOR == 0 &&
13 FLATBUFFERS_VERSION_REVISION == 7,
14 "Non-compatible flatbuffers version included");
15
16 namespace libtextclassifier3 {
17 namespace saft_fbs {
18
19 struct ModelParameter;
20 struct ModelParameterBuilder;
21 struct ModelParameterT;
22
23 struct ModelInput;
24 struct ModelInputBuilder;
25 struct ModelInputT;
26
27 struct Model;
28 struct ModelBuilder;
29 struct ModelT;
30
31 struct ModelParameterT : public flatbuffers::NativeTable {
32 typedef ModelParameter TableType;
33 std::string name{};
34 std::string value{};
35 };
36
37 struct ModelParameter FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
38 typedef ModelParameterT NativeTableType;
39 typedef ModelParameterBuilder Builder;
40 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
41 VT_NAME = 4,
42 VT_VALUE = 6
43 };
nameFLATBUFFERS_FINAL_CLASS44 const flatbuffers::String *name() const {
45 return GetPointer<const flatbuffers::String *>(VT_NAME);
46 }
valueFLATBUFFERS_FINAL_CLASS47 const flatbuffers::String *value() const {
48 return GetPointer<const flatbuffers::String *>(VT_VALUE);
49 }
VerifyFLATBUFFERS_FINAL_CLASS50 bool Verify(flatbuffers::Verifier &verifier) const {
51 return VerifyTableStart(verifier) &&
52 VerifyOffset(verifier, VT_NAME) &&
53 verifier.VerifyString(name()) &&
54 VerifyOffset(verifier, VT_VALUE) &&
55 verifier.VerifyString(value()) &&
56 verifier.EndTable();
57 }
58 ModelParameterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
59 void UnPackTo(ModelParameterT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
60 static flatbuffers::Offset<ModelParameter> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelParameterT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
61 };
62
63 struct ModelParameterBuilder {
64 typedef ModelParameter Table;
65 flatbuffers::FlatBufferBuilder &fbb_;
66 flatbuffers::uoffset_t start_;
add_nameModelParameterBuilder67 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
68 fbb_.AddOffset(ModelParameter::VT_NAME, name);
69 }
add_valueModelParameterBuilder70 void add_value(flatbuffers::Offset<flatbuffers::String> value) {
71 fbb_.AddOffset(ModelParameter::VT_VALUE, value);
72 }
ModelParameterBuilderModelParameterBuilder73 explicit ModelParameterBuilder(flatbuffers::FlatBufferBuilder &_fbb)
74 : fbb_(_fbb) {
75 start_ = fbb_.StartTable();
76 }
FinishModelParameterBuilder77 flatbuffers::Offset<ModelParameter> Finish() {
78 const auto end = fbb_.EndTable(start_);
79 auto o = flatbuffers::Offset<ModelParameter>(end);
80 return o;
81 }
82 };
83
84 inline flatbuffers::Offset<ModelParameter> CreateModelParameter(
85 flatbuffers::FlatBufferBuilder &_fbb,
86 flatbuffers::Offset<flatbuffers::String> name = 0,
87 flatbuffers::Offset<flatbuffers::String> value = 0) {
88 ModelParameterBuilder builder_(_fbb);
89 builder_.add_value(value);
90 builder_.add_name(name);
91 return builder_.Finish();
92 }
93
94 inline flatbuffers::Offset<ModelParameter> CreateModelParameterDirect(
95 flatbuffers::FlatBufferBuilder &_fbb,
96 const char *name = nullptr,
97 const char *value = nullptr) {
98 auto name__ = name ? _fbb.CreateString(name) : 0;
99 auto value__ = value ? _fbb.CreateString(value) : 0;
100 return libtextclassifier3::saft_fbs::CreateModelParameter(
101 _fbb,
102 name__,
103 value__);
104 }
105
106 flatbuffers::Offset<ModelParameter> CreateModelParameter(flatbuffers::FlatBufferBuilder &_fbb, const ModelParameterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
107
108 struct ModelInputT : public flatbuffers::NativeTable {
109 typedef ModelInput TableType;
110 std::string name{};
111 std::string type{};
112 std::string sub_type{};
113 std::vector<uint8_t> data{};
114 };
115
116 struct ModelInput FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
117 typedef ModelInputT NativeTableType;
118 typedef ModelInputBuilder Builder;
119 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
120 VT_NAME = 4,
121 VT_TYPE = 6,
122 VT_SUB_TYPE = 8,
123 VT_DATA = 10
124 };
nameFLATBUFFERS_FINAL_CLASS125 const flatbuffers::String *name() const {
126 return GetPointer<const flatbuffers::String *>(VT_NAME);
127 }
typeFLATBUFFERS_FINAL_CLASS128 const flatbuffers::String *type() const {
129 return GetPointer<const flatbuffers::String *>(VT_TYPE);
130 }
sub_typeFLATBUFFERS_FINAL_CLASS131 const flatbuffers::String *sub_type() const {
132 return GetPointer<const flatbuffers::String *>(VT_SUB_TYPE);
133 }
dataFLATBUFFERS_FINAL_CLASS134 const flatbuffers::Vector<uint8_t> *data() const {
135 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DATA);
136 }
VerifyFLATBUFFERS_FINAL_CLASS137 bool Verify(flatbuffers::Verifier &verifier) const {
138 return VerifyTableStart(verifier) &&
139 VerifyOffset(verifier, VT_NAME) &&
140 verifier.VerifyString(name()) &&
141 VerifyOffset(verifier, VT_TYPE) &&
142 verifier.VerifyString(type()) &&
143 VerifyOffset(verifier, VT_SUB_TYPE) &&
144 verifier.VerifyString(sub_type()) &&
145 VerifyOffset(verifier, VT_DATA) &&
146 verifier.VerifyVector(data()) &&
147 verifier.EndTable();
148 }
149 ModelInputT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
150 void UnPackTo(ModelInputT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
151 static flatbuffers::Offset<ModelInput> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelInputT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
152 };
153
154 struct ModelInputBuilder {
155 typedef ModelInput Table;
156 flatbuffers::FlatBufferBuilder &fbb_;
157 flatbuffers::uoffset_t start_;
add_nameModelInputBuilder158 void add_name(flatbuffers::Offset<flatbuffers::String> name) {
159 fbb_.AddOffset(ModelInput::VT_NAME, name);
160 }
add_typeModelInputBuilder161 void add_type(flatbuffers::Offset<flatbuffers::String> type) {
162 fbb_.AddOffset(ModelInput::VT_TYPE, type);
163 }
add_sub_typeModelInputBuilder164 void add_sub_type(flatbuffers::Offset<flatbuffers::String> sub_type) {
165 fbb_.AddOffset(ModelInput::VT_SUB_TYPE, sub_type);
166 }
add_dataModelInputBuilder167 void add_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data) {
168 fbb_.AddOffset(ModelInput::VT_DATA, data);
169 }
ModelInputBuilderModelInputBuilder170 explicit ModelInputBuilder(flatbuffers::FlatBufferBuilder &_fbb)
171 : fbb_(_fbb) {
172 start_ = fbb_.StartTable();
173 }
FinishModelInputBuilder174 flatbuffers::Offset<ModelInput> Finish() {
175 const auto end = fbb_.EndTable(start_);
176 auto o = flatbuffers::Offset<ModelInput>(end);
177 return o;
178 }
179 };
180
181 inline flatbuffers::Offset<ModelInput> CreateModelInput(
182 flatbuffers::FlatBufferBuilder &_fbb,
183 flatbuffers::Offset<flatbuffers::String> name = 0,
184 flatbuffers::Offset<flatbuffers::String> type = 0,
185 flatbuffers::Offset<flatbuffers::String> sub_type = 0,
186 flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data = 0) {
187 ModelInputBuilder builder_(_fbb);
188 builder_.add_data(data);
189 builder_.add_sub_type(sub_type);
190 builder_.add_type(type);
191 builder_.add_name(name);
192 return builder_.Finish();
193 }
194
195 inline flatbuffers::Offset<ModelInput> CreateModelInputDirect(
196 flatbuffers::FlatBufferBuilder &_fbb,
197 const char *name = nullptr,
198 const char *type = nullptr,
199 const char *sub_type = nullptr,
200 const std::vector<uint8_t> *data = nullptr) {
201 auto name__ = name ? _fbb.CreateString(name) : 0;
202 auto type__ = type ? _fbb.CreateString(type) : 0;
203 auto sub_type__ = sub_type ? _fbb.CreateString(sub_type) : 0;
204 if (data) { _fbb.ForceVectorAlignment(data->size(), sizeof(uint8_t), 16); }
205 auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
206 return libtextclassifier3::saft_fbs::CreateModelInput(
207 _fbb,
208 name__,
209 type__,
210 sub_type__,
211 data__);
212 }
213
214 flatbuffers::Offset<ModelInput> CreateModelInput(flatbuffers::FlatBufferBuilder &_fbb, const ModelInputT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
215
216 struct ModelT : public flatbuffers::NativeTable {
217 typedef Model TableType;
218 std::vector<std::unique_ptr<libtextclassifier3::saft_fbs::ModelParameterT>> parameters{};
219 std::vector<std::unique_ptr<libtextclassifier3::saft_fbs::ModelInputT>> inputs{};
220 uint32_t crc32 = 0;
221 ModelT() = default;
222 ModelT(const ModelT &o);
223 ModelT(ModelT&&) FLATBUFFERS_NOEXCEPT = default;
224 ModelT &operator=(ModelT o) FLATBUFFERS_NOEXCEPT;
225 };
226
227 struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
228 typedef ModelT NativeTableType;
229 typedef ModelBuilder Builder;
230 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
231 VT_PARAMETERS = 4,
232 VT_INPUTS = 6,
233 VT_CRC32 = 8
234 };
parametersFLATBUFFERS_FINAL_CLASS235 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>> *parameters() const {
236 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>> *>(VT_PARAMETERS);
237 }
inputsFLATBUFFERS_FINAL_CLASS238 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>> *inputs() const {
239 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>> *>(VT_INPUTS);
240 }
crc32FLATBUFFERS_FINAL_CLASS241 uint32_t crc32() const {
242 return GetField<uint32_t>(VT_CRC32, 0);
243 }
VerifyFLATBUFFERS_FINAL_CLASS244 bool Verify(flatbuffers::Verifier &verifier) const {
245 return VerifyTableStart(verifier) &&
246 VerifyOffset(verifier, VT_PARAMETERS) &&
247 verifier.VerifyVector(parameters()) &&
248 verifier.VerifyVectorOfTables(parameters()) &&
249 VerifyOffset(verifier, VT_INPUTS) &&
250 verifier.VerifyVector(inputs()) &&
251 verifier.VerifyVectorOfTables(inputs()) &&
252 VerifyField<uint32_t>(verifier, VT_CRC32, 4) &&
253 verifier.EndTable();
254 }
255 ModelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
256 void UnPackTo(ModelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
257 static flatbuffers::Offset<Model> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
258 };
259
260 struct ModelBuilder {
261 typedef Model Table;
262 flatbuffers::FlatBufferBuilder &fbb_;
263 flatbuffers::uoffset_t start_;
add_parametersModelBuilder264 void add_parameters(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>>> parameters) {
265 fbb_.AddOffset(Model::VT_PARAMETERS, parameters);
266 }
add_inputsModelBuilder267 void add_inputs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>>> inputs) {
268 fbb_.AddOffset(Model::VT_INPUTS, inputs);
269 }
add_crc32ModelBuilder270 void add_crc32(uint32_t crc32) {
271 fbb_.AddElement<uint32_t>(Model::VT_CRC32, crc32, 0);
272 }
ModelBuilderModelBuilder273 explicit ModelBuilder(flatbuffers::FlatBufferBuilder &_fbb)
274 : fbb_(_fbb) {
275 start_ = fbb_.StartTable();
276 }
FinishModelBuilder277 flatbuffers::Offset<Model> Finish() {
278 const auto end = fbb_.EndTable(start_);
279 auto o = flatbuffers::Offset<Model>(end);
280 return o;
281 }
282 };
283
284 inline flatbuffers::Offset<Model> CreateModel(
285 flatbuffers::FlatBufferBuilder &_fbb,
286 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>>> parameters = 0,
287 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>>> inputs = 0,
288 uint32_t crc32 = 0) {
289 ModelBuilder builder_(_fbb);
290 builder_.add_crc32(crc32);
291 builder_.add_inputs(inputs);
292 builder_.add_parameters(parameters);
293 return builder_.Finish();
294 }
295
296 inline flatbuffers::Offset<Model> CreateModelDirect(
297 flatbuffers::FlatBufferBuilder &_fbb,
298 const std::vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>> *parameters = nullptr,
299 const std::vector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>> *inputs = nullptr,
300 uint32_t crc32 = 0) {
301 auto parameters__ = parameters ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>>(*parameters) : 0;
302 auto inputs__ = inputs ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>>(*inputs) : 0;
303 return libtextclassifier3::saft_fbs::CreateModel(
304 _fbb,
305 parameters__,
306 inputs__,
307 crc32);
308 }
309
310 flatbuffers::Offset<Model> CreateModel(flatbuffers::FlatBufferBuilder &_fbb, const ModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
311
UnPack(const flatbuffers::resolver_function_t * _resolver)312 inline ModelParameterT *ModelParameter::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
313 auto _o = std::unique_ptr<ModelParameterT>(new ModelParameterT());
314 UnPackTo(_o.get(), _resolver);
315 return _o.release();
316 }
317
UnPackTo(ModelParameterT * _o,const flatbuffers::resolver_function_t * _resolver)318 inline void ModelParameter::UnPackTo(ModelParameterT *_o, const flatbuffers::resolver_function_t *_resolver) const {
319 (void)_o;
320 (void)_resolver;
321 { auto _e = name(); if (_e) _o->name = _e->str(); }
322 { auto _e = value(); if (_e) _o->value = _e->str(); }
323 }
324
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ModelParameterT * _o,const flatbuffers::rehasher_function_t * _rehasher)325 inline flatbuffers::Offset<ModelParameter> ModelParameter::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelParameterT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
326 return CreateModelParameter(_fbb, _o, _rehasher);
327 }
328
CreateModelParameter(flatbuffers::FlatBufferBuilder & _fbb,const ModelParameterT * _o,const flatbuffers::rehasher_function_t * _rehasher)329 inline flatbuffers::Offset<ModelParameter> CreateModelParameter(flatbuffers::FlatBufferBuilder &_fbb, const ModelParameterT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
330 (void)_rehasher;
331 (void)_o;
332 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ModelParameterT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
333 auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name);
334 auto _value = _o->value.empty() ? 0 : _fbb.CreateString(_o->value);
335 return libtextclassifier3::saft_fbs::CreateModelParameter(
336 _fbb,
337 _name,
338 _value);
339 }
340
UnPack(const flatbuffers::resolver_function_t * _resolver)341 inline ModelInputT *ModelInput::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
342 auto _o = std::unique_ptr<ModelInputT>(new ModelInputT());
343 UnPackTo(_o.get(), _resolver);
344 return _o.release();
345 }
346
UnPackTo(ModelInputT * _o,const flatbuffers::resolver_function_t * _resolver)347 inline void ModelInput::UnPackTo(ModelInputT *_o, const flatbuffers::resolver_function_t *_resolver) const {
348 (void)_o;
349 (void)_resolver;
350 { auto _e = name(); if (_e) _o->name = _e->str(); }
351 { auto _e = type(); if (_e) _o->type = _e->str(); }
352 { auto _e = sub_type(); if (_e) _o->sub_type = _e->str(); }
353 { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } }
354 }
355
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ModelInputT * _o,const flatbuffers::rehasher_function_t * _rehasher)356 inline flatbuffers::Offset<ModelInput> ModelInput::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelInputT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
357 return CreateModelInput(_fbb, _o, _rehasher);
358 }
359
CreateModelInput(flatbuffers::FlatBufferBuilder & _fbb,const ModelInputT * _o,const flatbuffers::rehasher_function_t * _rehasher)360 inline flatbuffers::Offset<ModelInput> CreateModelInput(flatbuffers::FlatBufferBuilder &_fbb, const ModelInputT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
361 (void)_rehasher;
362 (void)_o;
363 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ModelInputT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
364 auto _name = _o->name.empty() ? 0 : _fbb.CreateString(_o->name);
365 auto _type = _o->type.empty() ? 0 : _fbb.CreateString(_o->type);
366 auto _sub_type = _o->sub_type.empty() ? 0 : _fbb.CreateString(_o->sub_type);
367 _fbb.ForceVectorAlignment(_o->data.size(), sizeof(uint8_t), 16);
368 auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0;
369 return libtextclassifier3::saft_fbs::CreateModelInput(
370 _fbb,
371 _name,
372 _type,
373 _sub_type,
374 _data);
375 }
376
ModelT(const ModelT & o)377 inline ModelT::ModelT(const ModelT &o)
378 : crc32(o.crc32) {
379 parameters.reserve(o.parameters.size());
380 for (const auto ¶meters_ : o.parameters) { parameters.emplace_back((parameters_) ? new libtextclassifier3::saft_fbs::ModelParameterT(*parameters_) : nullptr); }
381 inputs.reserve(o.inputs.size());
382 for (const auto &inputs_ : o.inputs) { inputs.emplace_back((inputs_) ? new libtextclassifier3::saft_fbs::ModelInputT(*inputs_) : nullptr); }
383 }
384
385 inline ModelT &ModelT::operator=(ModelT o) FLATBUFFERS_NOEXCEPT {
386 std::swap(parameters, o.parameters);
387 std::swap(inputs, o.inputs);
388 std::swap(crc32, o.crc32);
389 return *this;
390 }
391
UnPack(const flatbuffers::resolver_function_t * _resolver)392 inline ModelT *Model::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
393 auto _o = std::unique_ptr<ModelT>(new ModelT());
394 UnPackTo(_o.get(), _resolver);
395 return _o.release();
396 }
397
UnPackTo(ModelT * _o,const flatbuffers::resolver_function_t * _resolver)398 inline void Model::UnPackTo(ModelT *_o, const flatbuffers::resolver_function_t *_resolver) const {
399 (void)_o;
400 (void)_resolver;
401 { auto _e = parameters(); if (_e) { _o->parameters.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->parameters[_i] = std::unique_ptr<libtextclassifier3::saft_fbs::ModelParameterT>(_e->Get(_i)->UnPack(_resolver)); } } }
402 { auto _e = inputs(); if (_e) { _o->inputs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->inputs[_i] = std::unique_ptr<libtextclassifier3::saft_fbs::ModelInputT>(_e->Get(_i)->UnPack(_resolver)); } } }
403 { auto _e = crc32(); _o->crc32 = _e; }
404 }
405
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ModelT * _o,const flatbuffers::rehasher_function_t * _rehasher)406 inline flatbuffers::Offset<Model> Model::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
407 return CreateModel(_fbb, _o, _rehasher);
408 }
409
CreateModel(flatbuffers::FlatBufferBuilder & _fbb,const ModelT * _o,const flatbuffers::rehasher_function_t * _rehasher)410 inline flatbuffers::Offset<Model> CreateModel(flatbuffers::FlatBufferBuilder &_fbb, const ModelT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
411 (void)_rehasher;
412 (void)_o;
413 struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ModelT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
414 auto _parameters = _o->parameters.size() ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelParameter>> (_o->parameters.size(), [](size_t i, _VectorArgs *__va) { return CreateModelParameter(*__va->__fbb, __va->__o->parameters[i].get(), __va->__rehasher); }, &_va ) : 0;
415 auto _inputs = _o->inputs.size() ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::saft_fbs::ModelInput>> (_o->inputs.size(), [](size_t i, _VectorArgs *__va) { return CreateModelInput(*__va->__fbb, __va->__o->inputs[i].get(), __va->__rehasher); }, &_va ) : 0;
416 auto _crc32 = _o->crc32;
417 return libtextclassifier3::saft_fbs::CreateModel(
418 _fbb,
419 _parameters,
420 _inputs,
421 _crc32);
422 }
423
GetModel(const void * buf)424 inline const libtextclassifier3::saft_fbs::Model *GetModel(const void *buf) {
425 return flatbuffers::GetRoot<libtextclassifier3::saft_fbs::Model>(buf);
426 }
427
GetSizePrefixedModel(const void * buf)428 inline const libtextclassifier3::saft_fbs::Model *GetSizePrefixedModel(const void *buf) {
429 return flatbuffers::GetSizePrefixedRoot<libtextclassifier3::saft_fbs::Model>(buf);
430 }
431
ModelIdentifier()432 inline const char *ModelIdentifier() {
433 return "SM00";
434 }
435
ModelBufferHasIdentifier(const void * buf)436 inline bool ModelBufferHasIdentifier(const void *buf) {
437 return flatbuffers::BufferHasIdentifier(
438 buf, ModelIdentifier());
439 }
440
SizePrefixedModelBufferHasIdentifier(const void * buf)441 inline bool SizePrefixedModelBufferHasIdentifier(const void *buf) {
442 return flatbuffers::BufferHasIdentifier(
443 buf, ModelIdentifier(), true);
444 }
445
VerifyModelBuffer(flatbuffers::Verifier & verifier)446 inline bool VerifyModelBuffer(
447 flatbuffers::Verifier &verifier) {
448 return verifier.VerifyBuffer<libtextclassifier3::saft_fbs::Model>(ModelIdentifier());
449 }
450
VerifySizePrefixedModelBuffer(flatbuffers::Verifier & verifier)451 inline bool VerifySizePrefixedModelBuffer(
452 flatbuffers::Verifier &verifier) {
453 return verifier.VerifySizePrefixedBuffer<libtextclassifier3::saft_fbs::Model>(ModelIdentifier());
454 }
455
ModelExtension()456 inline const char *ModelExtension() {
457 return "smfb";
458 }
459
FinishModelBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<libtextclassifier3::saft_fbs::Model> root)460 inline void FinishModelBuffer(
461 flatbuffers::FlatBufferBuilder &fbb,
462 flatbuffers::Offset<libtextclassifier3::saft_fbs::Model> root) {
463 fbb.Finish(root, ModelIdentifier());
464 }
465
FinishSizePrefixedModelBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<libtextclassifier3::saft_fbs::Model> root)466 inline void FinishSizePrefixedModelBuffer(
467 flatbuffers::FlatBufferBuilder &fbb,
468 flatbuffers::Offset<libtextclassifier3::saft_fbs::Model> root) {
469 fbb.FinishSizePrefixed(root, ModelIdentifier());
470 }
471
472 inline std::unique_ptr<libtextclassifier3::saft_fbs::ModelT> UnPackModel(
473 const void *buf,
474 const flatbuffers::resolver_function_t *res = nullptr) {
475 return std::unique_ptr<libtextclassifier3::saft_fbs::ModelT>(GetModel(buf)->UnPack(res));
476 }
477
478 inline std::unique_ptr<libtextclassifier3::saft_fbs::ModelT> UnPackSizePrefixedModel(
479 const void *buf,
480 const flatbuffers::resolver_function_t *res = nullptr) {
481 return std::unique_ptr<libtextclassifier3::saft_fbs::ModelT>(GetSizePrefixedModel(buf)->UnPack(res));
482 }
483
484 } // namespace saft_fbs
485 } // namespace libtextclassifier3
486
487 #endif // FLATBUFFERS_GENERATED_MODEL_LIBTEXTCLASSIFIER3_SAFT_FBS_H_
488