1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_TEXTENCODERCONFIG_LIBTEXTCLASSIFIER3_H_
5 #define FLATBUFFERS_GENERATED_TEXTENCODERCONFIG_LIBTEXTCLASSIFIER3_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 
18 struct TextEncoderConfig;
19 struct TextEncoderConfigBuilder;
20 struct TextEncoderConfigT;
21 
22 enum SentencePieceMatcherType : int8_t {
23   SentencePieceMatcherType_MAPPED_TRIE = 0,
24   SentencePieceMatcherType_SORTED_STRING_TABLE = 1,
25   SentencePieceMatcherType_MIN = SentencePieceMatcherType_MAPPED_TRIE,
26   SentencePieceMatcherType_MAX = SentencePieceMatcherType_SORTED_STRING_TABLE
27 };
28 
EnumValuesSentencePieceMatcherType()29 inline const SentencePieceMatcherType (&EnumValuesSentencePieceMatcherType())[2] {
30   static const SentencePieceMatcherType values[] = {
31     SentencePieceMatcherType_MAPPED_TRIE,
32     SentencePieceMatcherType_SORTED_STRING_TABLE
33   };
34   return values;
35 }
36 
EnumNamesSentencePieceMatcherType()37 inline const char * const *EnumNamesSentencePieceMatcherType() {
38   static const char * const names[3] = {
39     "MAPPED_TRIE",
40     "SORTED_STRING_TABLE",
41     nullptr
42   };
43   return names;
44 }
45 
EnumNameSentencePieceMatcherType(SentencePieceMatcherType e)46 inline const char *EnumNameSentencePieceMatcherType(SentencePieceMatcherType e) {
47   if (flatbuffers::IsOutRange(e, SentencePieceMatcherType_MAPPED_TRIE, SentencePieceMatcherType_SORTED_STRING_TABLE)) return "";
48   const size_t index = static_cast<size_t>(e);
49   return EnumNamesSentencePieceMatcherType()[index];
50 }
51 
52 struct TextEncoderConfigT : public flatbuffers::NativeTable {
53   typedef TextEncoderConfig TableType;
54   int32_t start_code = 0;
55   int32_t end_code = 1;
56   int32_t encoding_offset = 2;
57   int32_t unknown_code = -1;
58   float unknown_score = 0.0f;
59   std::string normalization_charsmap{};
60   std::string normalization_charsmap_values{};
61   bool add_dummy_prefix = true;
62   bool remove_extra_whitespaces = true;
63   bool escape_whitespaces = true;
64   std::vector<float> pieces_scores{};
65   std::string pieces{};
66   std::vector<uint32_t> pieces_offsets{};
67   libtextclassifier3::SentencePieceMatcherType matcher_type = libtextclassifier3::SentencePieceMatcherType_MAPPED_TRIE;
68 };
69 
70 struct TextEncoderConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
71   typedef TextEncoderConfigT NativeTableType;
72   typedef TextEncoderConfigBuilder Builder;
73   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
74     VT_START_CODE = 4,
75     VT_END_CODE = 6,
76     VT_ENCODING_OFFSET = 8,
77     VT_UNKNOWN_CODE = 10,
78     VT_UNKNOWN_SCORE = 12,
79     VT_NORMALIZATION_CHARSMAP = 14,
80     VT_NORMALIZATION_CHARSMAP_VALUES = 16,
81     VT_ADD_DUMMY_PREFIX = 18,
82     VT_REMOVE_EXTRA_WHITESPACES = 20,
83     VT_ESCAPE_WHITESPACES = 22,
84     VT_PIECES_SCORES = 24,
85     VT_PIECES = 26,
86     VT_PIECES_OFFSETS = 28,
87     VT_MATCHER_TYPE = 30
88   };
start_codeFLATBUFFERS_FINAL_CLASS89   int32_t start_code() const {
90     return GetField<int32_t>(VT_START_CODE, 0);
91   }
end_codeFLATBUFFERS_FINAL_CLASS92   int32_t end_code() const {
93     return GetField<int32_t>(VT_END_CODE, 1);
94   }
encoding_offsetFLATBUFFERS_FINAL_CLASS95   int32_t encoding_offset() const {
96     return GetField<int32_t>(VT_ENCODING_OFFSET, 2);
97   }
unknown_codeFLATBUFFERS_FINAL_CLASS98   int32_t unknown_code() const {
99     return GetField<int32_t>(VT_UNKNOWN_CODE, -1);
100   }
unknown_scoreFLATBUFFERS_FINAL_CLASS101   float unknown_score() const {
102     return GetField<float>(VT_UNKNOWN_SCORE, 0.0f);
103   }
normalization_charsmapFLATBUFFERS_FINAL_CLASS104   const flatbuffers::String *normalization_charsmap() const {
105     return GetPointer<const flatbuffers::String *>(VT_NORMALIZATION_CHARSMAP);
106   }
normalization_charsmap_valuesFLATBUFFERS_FINAL_CLASS107   const flatbuffers::String *normalization_charsmap_values() const {
108     return GetPointer<const flatbuffers::String *>(VT_NORMALIZATION_CHARSMAP_VALUES);
109   }
add_dummy_prefixFLATBUFFERS_FINAL_CLASS110   bool add_dummy_prefix() const {
111     return GetField<uint8_t>(VT_ADD_DUMMY_PREFIX, 1) != 0;
112   }
remove_extra_whitespacesFLATBUFFERS_FINAL_CLASS113   bool remove_extra_whitespaces() const {
114     return GetField<uint8_t>(VT_REMOVE_EXTRA_WHITESPACES, 1) != 0;
115   }
escape_whitespacesFLATBUFFERS_FINAL_CLASS116   bool escape_whitespaces() const {
117     return GetField<uint8_t>(VT_ESCAPE_WHITESPACES, 1) != 0;
118   }
pieces_scoresFLATBUFFERS_FINAL_CLASS119   const flatbuffers::Vector<float> *pieces_scores() const {
120     return GetPointer<const flatbuffers::Vector<float> *>(VT_PIECES_SCORES);
121   }
piecesFLATBUFFERS_FINAL_CLASS122   const flatbuffers::String *pieces() const {
123     return GetPointer<const flatbuffers::String *>(VT_PIECES);
124   }
pieces_offsetsFLATBUFFERS_FINAL_CLASS125   const flatbuffers::Vector<uint32_t> *pieces_offsets() const {
126     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_PIECES_OFFSETS);
127   }
matcher_typeFLATBUFFERS_FINAL_CLASS128   libtextclassifier3::SentencePieceMatcherType matcher_type() const {
129     return static_cast<libtextclassifier3::SentencePieceMatcherType>(GetField<int8_t>(VT_MATCHER_TYPE, 0));
130   }
VerifyFLATBUFFERS_FINAL_CLASS131   bool Verify(flatbuffers::Verifier &verifier) const {
132     return VerifyTableStart(verifier) &&
133            VerifyField<int32_t>(verifier, VT_START_CODE, 4) &&
134            VerifyField<int32_t>(verifier, VT_END_CODE, 4) &&
135            VerifyField<int32_t>(verifier, VT_ENCODING_OFFSET, 4) &&
136            VerifyField<int32_t>(verifier, VT_UNKNOWN_CODE, 4) &&
137            VerifyField<float>(verifier, VT_UNKNOWN_SCORE, 4) &&
138            VerifyOffset(verifier, VT_NORMALIZATION_CHARSMAP) &&
139            verifier.VerifyString(normalization_charsmap()) &&
140            VerifyOffset(verifier, VT_NORMALIZATION_CHARSMAP_VALUES) &&
141            verifier.VerifyString(normalization_charsmap_values()) &&
142            VerifyField<uint8_t>(verifier, VT_ADD_DUMMY_PREFIX, 1) &&
143            VerifyField<uint8_t>(verifier, VT_REMOVE_EXTRA_WHITESPACES, 1) &&
144            VerifyField<uint8_t>(verifier, VT_ESCAPE_WHITESPACES, 1) &&
145            VerifyOffset(verifier, VT_PIECES_SCORES) &&
146            verifier.VerifyVector(pieces_scores()) &&
147            VerifyOffset(verifier, VT_PIECES) &&
148            verifier.VerifyString(pieces()) &&
149            VerifyOffset(verifier, VT_PIECES_OFFSETS) &&
150            verifier.VerifyVector(pieces_offsets()) &&
151            VerifyField<int8_t>(verifier, VT_MATCHER_TYPE, 1) &&
152            verifier.EndTable();
153   }
154   TextEncoderConfigT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
155   void UnPackTo(TextEncoderConfigT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
156   static flatbuffers::Offset<TextEncoderConfig> Pack(flatbuffers::FlatBufferBuilder &_fbb, const TextEncoderConfigT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
157 };
158 
159 struct TextEncoderConfigBuilder {
160   typedef TextEncoderConfig Table;
161   flatbuffers::FlatBufferBuilder &fbb_;
162   flatbuffers::uoffset_t start_;
add_start_codeTextEncoderConfigBuilder163   void add_start_code(int32_t start_code) {
164     fbb_.AddElement<int32_t>(TextEncoderConfig::VT_START_CODE, start_code, 0);
165   }
add_end_codeTextEncoderConfigBuilder166   void add_end_code(int32_t end_code) {
167     fbb_.AddElement<int32_t>(TextEncoderConfig::VT_END_CODE, end_code, 1);
168   }
add_encoding_offsetTextEncoderConfigBuilder169   void add_encoding_offset(int32_t encoding_offset) {
170     fbb_.AddElement<int32_t>(TextEncoderConfig::VT_ENCODING_OFFSET, encoding_offset, 2);
171   }
add_unknown_codeTextEncoderConfigBuilder172   void add_unknown_code(int32_t unknown_code) {
173     fbb_.AddElement<int32_t>(TextEncoderConfig::VT_UNKNOWN_CODE, unknown_code, -1);
174   }
add_unknown_scoreTextEncoderConfigBuilder175   void add_unknown_score(float unknown_score) {
176     fbb_.AddElement<float>(TextEncoderConfig::VT_UNKNOWN_SCORE, unknown_score, 0.0f);
177   }
add_normalization_charsmapTextEncoderConfigBuilder178   void add_normalization_charsmap(flatbuffers::Offset<flatbuffers::String> normalization_charsmap) {
179     fbb_.AddOffset(TextEncoderConfig::VT_NORMALIZATION_CHARSMAP, normalization_charsmap);
180   }
add_normalization_charsmap_valuesTextEncoderConfigBuilder181   void add_normalization_charsmap_values(flatbuffers::Offset<flatbuffers::String> normalization_charsmap_values) {
182     fbb_.AddOffset(TextEncoderConfig::VT_NORMALIZATION_CHARSMAP_VALUES, normalization_charsmap_values);
183   }
add_add_dummy_prefixTextEncoderConfigBuilder184   void add_add_dummy_prefix(bool add_dummy_prefix) {
185     fbb_.AddElement<uint8_t>(TextEncoderConfig::VT_ADD_DUMMY_PREFIX, static_cast<uint8_t>(add_dummy_prefix), 1);
186   }
add_remove_extra_whitespacesTextEncoderConfigBuilder187   void add_remove_extra_whitespaces(bool remove_extra_whitespaces) {
188     fbb_.AddElement<uint8_t>(TextEncoderConfig::VT_REMOVE_EXTRA_WHITESPACES, static_cast<uint8_t>(remove_extra_whitespaces), 1);
189   }
add_escape_whitespacesTextEncoderConfigBuilder190   void add_escape_whitespaces(bool escape_whitespaces) {
191     fbb_.AddElement<uint8_t>(TextEncoderConfig::VT_ESCAPE_WHITESPACES, static_cast<uint8_t>(escape_whitespaces), 1);
192   }
add_pieces_scoresTextEncoderConfigBuilder193   void add_pieces_scores(flatbuffers::Offset<flatbuffers::Vector<float>> pieces_scores) {
194     fbb_.AddOffset(TextEncoderConfig::VT_PIECES_SCORES, pieces_scores);
195   }
add_piecesTextEncoderConfigBuilder196   void add_pieces(flatbuffers::Offset<flatbuffers::String> pieces) {
197     fbb_.AddOffset(TextEncoderConfig::VT_PIECES, pieces);
198   }
add_pieces_offsetsTextEncoderConfigBuilder199   void add_pieces_offsets(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> pieces_offsets) {
200     fbb_.AddOffset(TextEncoderConfig::VT_PIECES_OFFSETS, pieces_offsets);
201   }
add_matcher_typeTextEncoderConfigBuilder202   void add_matcher_type(libtextclassifier3::SentencePieceMatcherType matcher_type) {
203     fbb_.AddElement<int8_t>(TextEncoderConfig::VT_MATCHER_TYPE, static_cast<int8_t>(matcher_type), 0);
204   }
TextEncoderConfigBuilderTextEncoderConfigBuilder205   explicit TextEncoderConfigBuilder(flatbuffers::FlatBufferBuilder &_fbb)
206         : fbb_(_fbb) {
207     start_ = fbb_.StartTable();
208   }
FinishTextEncoderConfigBuilder209   flatbuffers::Offset<TextEncoderConfig> Finish() {
210     const auto end = fbb_.EndTable(start_);
211     auto o = flatbuffers::Offset<TextEncoderConfig>(end);
212     return o;
213   }
214 };
215 
216 inline flatbuffers::Offset<TextEncoderConfig> CreateTextEncoderConfig(
217     flatbuffers::FlatBufferBuilder &_fbb,
218     int32_t start_code = 0,
219     int32_t end_code = 1,
220     int32_t encoding_offset = 2,
221     int32_t unknown_code = -1,
222     float unknown_score = 0.0f,
223     flatbuffers::Offset<flatbuffers::String> normalization_charsmap = 0,
224     flatbuffers::Offset<flatbuffers::String> normalization_charsmap_values = 0,
225     bool add_dummy_prefix = true,
226     bool remove_extra_whitespaces = true,
227     bool escape_whitespaces = true,
228     flatbuffers::Offset<flatbuffers::Vector<float>> pieces_scores = 0,
229     flatbuffers::Offset<flatbuffers::String> pieces = 0,
230     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> pieces_offsets = 0,
231     libtextclassifier3::SentencePieceMatcherType matcher_type = libtextclassifier3::SentencePieceMatcherType_MAPPED_TRIE) {
232   TextEncoderConfigBuilder builder_(_fbb);
233   builder_.add_pieces_offsets(pieces_offsets);
234   builder_.add_pieces(pieces);
235   builder_.add_pieces_scores(pieces_scores);
236   builder_.add_normalization_charsmap_values(normalization_charsmap_values);
237   builder_.add_normalization_charsmap(normalization_charsmap);
238   builder_.add_unknown_score(unknown_score);
239   builder_.add_unknown_code(unknown_code);
240   builder_.add_encoding_offset(encoding_offset);
241   builder_.add_end_code(end_code);
242   builder_.add_start_code(start_code);
243   builder_.add_matcher_type(matcher_type);
244   builder_.add_escape_whitespaces(escape_whitespaces);
245   builder_.add_remove_extra_whitespaces(remove_extra_whitespaces);
246   builder_.add_add_dummy_prefix(add_dummy_prefix);
247   return builder_.Finish();
248 }
249 
250 inline flatbuffers::Offset<TextEncoderConfig> CreateTextEncoderConfigDirect(
251     flatbuffers::FlatBufferBuilder &_fbb,
252     int32_t start_code = 0,
253     int32_t end_code = 1,
254     int32_t encoding_offset = 2,
255     int32_t unknown_code = -1,
256     float unknown_score = 0.0f,
257     const char *normalization_charsmap = nullptr,
258     const char *normalization_charsmap_values = nullptr,
259     bool add_dummy_prefix = true,
260     bool remove_extra_whitespaces = true,
261     bool escape_whitespaces = true,
262     const std::vector<float> *pieces_scores = nullptr,
263     const char *pieces = nullptr,
264     const std::vector<uint32_t> *pieces_offsets = nullptr,
265     libtextclassifier3::SentencePieceMatcherType matcher_type = libtextclassifier3::SentencePieceMatcherType_MAPPED_TRIE) {
266   auto normalization_charsmap__ = normalization_charsmap ? _fbb.CreateString(normalization_charsmap) : 0;
267   auto normalization_charsmap_values__ = normalization_charsmap_values ? _fbb.CreateString(normalization_charsmap_values) : 0;
268   auto pieces_scores__ = pieces_scores ? _fbb.CreateVector<float>(*pieces_scores) : 0;
269   auto pieces__ = pieces ? _fbb.CreateString(pieces) : 0;
270   auto pieces_offsets__ = pieces_offsets ? _fbb.CreateVector<uint32_t>(*pieces_offsets) : 0;
271   return libtextclassifier3::CreateTextEncoderConfig(
272       _fbb,
273       start_code,
274       end_code,
275       encoding_offset,
276       unknown_code,
277       unknown_score,
278       normalization_charsmap__,
279       normalization_charsmap_values__,
280       add_dummy_prefix,
281       remove_extra_whitespaces,
282       escape_whitespaces,
283       pieces_scores__,
284       pieces__,
285       pieces_offsets__,
286       matcher_type);
287 }
288 
289 flatbuffers::Offset<TextEncoderConfig> CreateTextEncoderConfig(flatbuffers::FlatBufferBuilder &_fbb, const TextEncoderConfigT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
290 
UnPack(const flatbuffers::resolver_function_t * _resolver)291 inline TextEncoderConfigT *TextEncoderConfig::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
292   auto _o = std::unique_ptr<TextEncoderConfigT>(new TextEncoderConfigT());
293   UnPackTo(_o.get(), _resolver);
294   return _o.release();
295 }
296 
UnPackTo(TextEncoderConfigT * _o,const flatbuffers::resolver_function_t * _resolver)297 inline void TextEncoderConfig::UnPackTo(TextEncoderConfigT *_o, const flatbuffers::resolver_function_t *_resolver) const {
298   (void)_o;
299   (void)_resolver;
300   { auto _e = start_code(); _o->start_code = _e; }
301   { auto _e = end_code(); _o->end_code = _e; }
302   { auto _e = encoding_offset(); _o->encoding_offset = _e; }
303   { auto _e = unknown_code(); _o->unknown_code = _e; }
304   { auto _e = unknown_score(); _o->unknown_score = _e; }
305   { auto _e = normalization_charsmap(); if (_e) _o->normalization_charsmap = _e->str(); }
306   { auto _e = normalization_charsmap_values(); if (_e) _o->normalization_charsmap_values = _e->str(); }
307   { auto _e = add_dummy_prefix(); _o->add_dummy_prefix = _e; }
308   { auto _e = remove_extra_whitespaces(); _o->remove_extra_whitespaces = _e; }
309   { auto _e = escape_whitespaces(); _o->escape_whitespaces = _e; }
310   { auto _e = pieces_scores(); if (_e) { _o->pieces_scores.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pieces_scores[_i] = _e->Get(_i); } } }
311   { auto _e = pieces(); if (_e) _o->pieces = _e->str(); }
312   { auto _e = pieces_offsets(); if (_e) { _o->pieces_offsets.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->pieces_offsets[_i] = _e->Get(_i); } } }
313   { auto _e = matcher_type(); _o->matcher_type = _e; }
314 }
315 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const TextEncoderConfigT * _o,const flatbuffers::rehasher_function_t * _rehasher)316 inline flatbuffers::Offset<TextEncoderConfig> TextEncoderConfig::Pack(flatbuffers::FlatBufferBuilder &_fbb, const TextEncoderConfigT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
317   return CreateTextEncoderConfig(_fbb, _o, _rehasher);
318 }
319 
CreateTextEncoderConfig(flatbuffers::FlatBufferBuilder & _fbb,const TextEncoderConfigT * _o,const flatbuffers::rehasher_function_t * _rehasher)320 inline flatbuffers::Offset<TextEncoderConfig> CreateTextEncoderConfig(flatbuffers::FlatBufferBuilder &_fbb, const TextEncoderConfigT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
321   (void)_rehasher;
322   (void)_o;
323   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const TextEncoderConfigT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
324   auto _start_code = _o->start_code;
325   auto _end_code = _o->end_code;
326   auto _encoding_offset = _o->encoding_offset;
327   auto _unknown_code = _o->unknown_code;
328   auto _unknown_score = _o->unknown_score;
329   auto _normalization_charsmap = _o->normalization_charsmap.empty() ? 0 : _fbb.CreateString(_o->normalization_charsmap);
330   auto _normalization_charsmap_values = _o->normalization_charsmap_values.empty() ? 0 : _fbb.CreateString(_o->normalization_charsmap_values);
331   auto _add_dummy_prefix = _o->add_dummy_prefix;
332   auto _remove_extra_whitespaces = _o->remove_extra_whitespaces;
333   auto _escape_whitespaces = _o->escape_whitespaces;
334   auto _pieces_scores = _o->pieces_scores.size() ? _fbb.CreateVector(_o->pieces_scores) : 0;
335   auto _pieces = _o->pieces.empty() ? 0 : _fbb.CreateString(_o->pieces);
336   auto _pieces_offsets = _o->pieces_offsets.size() ? _fbb.CreateVector(_o->pieces_offsets) : 0;
337   auto _matcher_type = _o->matcher_type;
338   return libtextclassifier3::CreateTextEncoderConfig(
339       _fbb,
340       _start_code,
341       _end_code,
342       _encoding_offset,
343       _unknown_code,
344       _unknown_score,
345       _normalization_charsmap,
346       _normalization_charsmap_values,
347       _add_dummy_prefix,
348       _remove_extra_whitespaces,
349       _escape_whitespaces,
350       _pieces_scores,
351       _pieces,
352       _pieces_offsets,
353       _matcher_type);
354 }
355 
356 }  // namespace libtextclassifier3
357 
358 #endif  // FLATBUFFERS_GENERATED_TEXTENCODERCONFIG_LIBTEXTCLASSIFIER3_H_
359