1 // automatically generated by the FlatBuffers compiler, do not modify
2
3
4 #ifndef FLATBUFFERS_GENERATED_MODEL_LIBTEXTCLASSIFIER3_H_
5 #define FLATBUFFERS_GENERATED_MODEL_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 #include "annotator/entity-data_generated.h"
17 #include "annotator/experimental/experimental_generated.h"
18 #include "utils/codepoint-range_generated.h"
19 #include "utils/container/bit-vector_generated.h"
20 #include "utils/flatbuffers/flatbuffers_generated.h"
21 #include "utils/grammar/rules_generated.h"
22 #include "utils/intents/intent-config_generated.h"
23 #include "utils/normalization_generated.h"
24 #include "utils/resources_generated.h"
25 #include "utils/tokenizer_generated.h"
26 #include "utils/zlib/buffer_generated.h"
27
28 namespace libtextclassifier3 {
29
30 struct SelectionModelOptions;
31 struct SelectionModelOptionsBuilder;
32 struct SelectionModelOptionsT;
33
34 struct ClassificationModelOptions;
35 struct ClassificationModelOptionsBuilder;
36 struct ClassificationModelOptionsT;
37
38 struct VerificationOptions;
39 struct VerificationOptionsBuilder;
40 struct VerificationOptionsT;
41
42 struct CapturingGroup;
43 struct CapturingGroupBuilder;
44 struct CapturingGroupT;
45
46 namespace RegexModel_ {
47
48 struct Pattern;
49 struct PatternBuilder;
50 struct PatternT;
51
52 } // namespace RegexModel_
53
54 struct RegexModel;
55 struct RegexModelBuilder;
56 struct RegexModelT;
57
58 namespace DatetimeModelPattern_ {
59
60 struct Regex;
61 struct RegexBuilder;
62 struct RegexT;
63
64 } // namespace DatetimeModelPattern_
65
66 struct DatetimeModelPattern;
67 struct DatetimeModelPatternBuilder;
68 struct DatetimeModelPatternT;
69
70 struct DatetimeModelExtractor;
71 struct DatetimeModelExtractorBuilder;
72 struct DatetimeModelExtractorT;
73
74 struct DatetimeModel;
75 struct DatetimeModelBuilder;
76 struct DatetimeModelT;
77
78 struct GrammarTokenizerOptions;
79 struct GrammarTokenizerOptionsBuilder;
80 struct GrammarTokenizerOptionsT;
81
82 namespace DatetimeModelLibrary_ {
83
84 struct Item;
85 struct ItemBuilder;
86 struct ItemT;
87
88 } // namespace DatetimeModelLibrary_
89
90 struct DatetimeModelLibrary;
91 struct DatetimeModelLibraryBuilder;
92 struct DatetimeModelLibraryT;
93
94 namespace GrammarModel_ {
95
96 struct RuleClassificationResult;
97 struct RuleClassificationResultBuilder;
98 struct RuleClassificationResultT;
99
100 } // namespace GrammarModel_
101
102 struct GrammarModel;
103 struct GrammarModelBuilder;
104 struct GrammarModelT;
105
106 namespace MoneyParsingOptions_ {
107
108 struct QuantitiesNameToExponentEntry;
109 struct QuantitiesNameToExponentEntryBuilder;
110 struct QuantitiesNameToExponentEntryT;
111
112 } // namespace MoneyParsingOptions_
113
114 struct MoneyParsingOptions;
115 struct MoneyParsingOptionsBuilder;
116 struct MoneyParsingOptionsT;
117
118 namespace ModelTriggeringOptions_ {
119
120 struct CollectionToPriorityEntry;
121 struct CollectionToPriorityEntryBuilder;
122 struct CollectionToPriorityEntryT;
123
124 } // namespace ModelTriggeringOptions_
125
126 struct ModelTriggeringOptions;
127 struct ModelTriggeringOptionsBuilder;
128 struct ModelTriggeringOptionsT;
129
130 struct OutputOptions;
131 struct OutputOptionsBuilder;
132 struct OutputOptionsT;
133
134 namespace Model_ {
135
136 struct EmbeddingPruningMask;
137 struct EmbeddingPruningMaskBuilder;
138 struct EmbeddingPruningMaskT;
139
140 struct ConflictResolutionOptions;
141 struct ConflictResolutionOptionsBuilder;
142 struct ConflictResolutionOptionsT;
143
144 } // namespace Model_
145
146 struct Model;
147 struct ModelBuilder;
148 struct ModelT;
149
150 namespace FeatureProcessorOptions_ {
151
152 struct BoundsSensitiveFeatures;
153 struct BoundsSensitiveFeaturesBuilder;
154 struct BoundsSensitiveFeaturesT;
155
156 } // namespace FeatureProcessorOptions_
157
158 struct FeatureProcessorOptions;
159 struct FeatureProcessorOptionsBuilder;
160 struct FeatureProcessorOptionsT;
161
162 struct NumberAnnotatorOptions;
163 struct NumberAnnotatorOptionsBuilder;
164 struct NumberAnnotatorOptionsT;
165
166 struct DurationAnnotatorOptions;
167 struct DurationAnnotatorOptionsBuilder;
168 struct DurationAnnotatorOptionsT;
169
170 struct ContactAnnotatorOptions;
171 struct ContactAnnotatorOptionsBuilder;
172 struct ContactAnnotatorOptionsT;
173
174 namespace TranslateAnnotatorOptions_ {
175
176 struct BackoffOptions;
177 struct BackoffOptionsBuilder;
178 struct BackoffOptionsT;
179
180 } // namespace TranslateAnnotatorOptions_
181
182 struct TranslateAnnotatorOptions;
183 struct TranslateAnnotatorOptionsBuilder;
184 struct TranslateAnnotatorOptionsT;
185
186 namespace PodNerModel_ {
187
188 struct Collection;
189 struct CollectionBuilder;
190 struct CollectionT;
191
192 struct Label;
193 struct LabelBuilder;
194 struct LabelT;
195
196 } // namespace PodNerModel_
197
198 struct PodNerModel;
199 struct PodNerModelBuilder;
200 struct PodNerModelT;
201
202 struct VocabModel;
203 struct VocabModelBuilder;
204 struct VocabModelT;
205
206 enum ModeFlag : int32_t {
207 ModeFlag_NONE = 0,
208 ModeFlag_ANNOTATION = 1,
209 ModeFlag_CLASSIFICATION = 2,
210 ModeFlag_ANNOTATION_AND_CLASSIFICATION = 3,
211 ModeFlag_SELECTION = 4,
212 ModeFlag_ANNOTATION_AND_SELECTION = 5,
213 ModeFlag_CLASSIFICATION_AND_SELECTION = 6,
214 ModeFlag_ALL = 7,
215 ModeFlag_MIN = ModeFlag_NONE,
216 ModeFlag_MAX = ModeFlag_ALL
217 };
218
EnumValuesModeFlag()219 inline const ModeFlag (&EnumValuesModeFlag())[8] {
220 static const ModeFlag values[] = {
221 ModeFlag_NONE,
222 ModeFlag_ANNOTATION,
223 ModeFlag_CLASSIFICATION,
224 ModeFlag_ANNOTATION_AND_CLASSIFICATION,
225 ModeFlag_SELECTION,
226 ModeFlag_ANNOTATION_AND_SELECTION,
227 ModeFlag_CLASSIFICATION_AND_SELECTION,
228 ModeFlag_ALL
229 };
230 return values;
231 }
232
EnumNamesModeFlag()233 inline const char * const *EnumNamesModeFlag() {
234 static const char * const names[9] = {
235 "NONE",
236 "ANNOTATION",
237 "CLASSIFICATION",
238 "ANNOTATION_AND_CLASSIFICATION",
239 "SELECTION",
240 "ANNOTATION_AND_SELECTION",
241 "CLASSIFICATION_AND_SELECTION",
242 "ALL",
243 nullptr
244 };
245 return names;
246 }
247
EnumNameModeFlag(ModeFlag e)248 inline const char *EnumNameModeFlag(ModeFlag e) {
249 if (flatbuffers::IsOutRange(e, ModeFlag_NONE, ModeFlag_ALL)) return "";
250 const size_t index = static_cast<size_t>(e);
251 return EnumNamesModeFlag()[index];
252 }
253
254 enum AnnotationUsecase : int32_t {
255 AnnotationUsecase_ANNOTATION_USECASE_SMART = 0,
256 AnnotationUsecase_ANNOTATION_USECASE_RAW = 1,
257 AnnotationUsecase_MIN = AnnotationUsecase_ANNOTATION_USECASE_SMART,
258 AnnotationUsecase_MAX = AnnotationUsecase_ANNOTATION_USECASE_RAW
259 };
260
EnumValuesAnnotationUsecase()261 inline const AnnotationUsecase (&EnumValuesAnnotationUsecase())[2] {
262 static const AnnotationUsecase values[] = {
263 AnnotationUsecase_ANNOTATION_USECASE_SMART,
264 AnnotationUsecase_ANNOTATION_USECASE_RAW
265 };
266 return values;
267 }
268
EnumNamesAnnotationUsecase()269 inline const char * const *EnumNamesAnnotationUsecase() {
270 static const char * const names[3] = {
271 "ANNOTATION_USECASE_SMART",
272 "ANNOTATION_USECASE_RAW",
273 nullptr
274 };
275 return names;
276 }
277
EnumNameAnnotationUsecase(AnnotationUsecase e)278 inline const char *EnumNameAnnotationUsecase(AnnotationUsecase e) {
279 if (flatbuffers::IsOutRange(e, AnnotationUsecase_ANNOTATION_USECASE_SMART, AnnotationUsecase_ANNOTATION_USECASE_RAW)) return "";
280 const size_t index = static_cast<size_t>(e);
281 return EnumNamesAnnotationUsecase()[index];
282 }
283
284 enum DatetimeExtractorType : int32_t {
285 DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE = 0,
286 DatetimeExtractorType_AM = 1,
287 DatetimeExtractorType_PM = 2,
288 DatetimeExtractorType_JANUARY = 3,
289 DatetimeExtractorType_FEBRUARY = 4,
290 DatetimeExtractorType_MARCH = 5,
291 DatetimeExtractorType_APRIL = 6,
292 DatetimeExtractorType_MAY = 7,
293 DatetimeExtractorType_JUNE = 8,
294 DatetimeExtractorType_JULY = 9,
295 DatetimeExtractorType_AUGUST = 10,
296 DatetimeExtractorType_SEPTEMBER = 11,
297 DatetimeExtractorType_OCTOBER = 12,
298 DatetimeExtractorType_NOVEMBER = 13,
299 DatetimeExtractorType_DECEMBER = 14,
300 DatetimeExtractorType_NEXT = 15,
301 DatetimeExtractorType_NEXT_OR_SAME = 16,
302 DatetimeExtractorType_LAST = 17,
303 DatetimeExtractorType_NOW = 18,
304 DatetimeExtractorType_TOMORROW = 19,
305 DatetimeExtractorType_YESTERDAY = 20,
306 DatetimeExtractorType_PAST = 21,
307 DatetimeExtractorType_FUTURE = 22,
308 DatetimeExtractorType_DAY = 23,
309 DatetimeExtractorType_WEEK = 24,
310 DatetimeExtractorType_MONTH = 25,
311 DatetimeExtractorType_YEAR = 26,
312 DatetimeExtractorType_MONDAY = 27,
313 DatetimeExtractorType_TUESDAY = 28,
314 DatetimeExtractorType_WEDNESDAY = 29,
315 DatetimeExtractorType_THURSDAY = 30,
316 DatetimeExtractorType_FRIDAY = 31,
317 DatetimeExtractorType_SATURDAY = 32,
318 DatetimeExtractorType_SUNDAY = 33,
319 DatetimeExtractorType_DAYS = 34,
320 DatetimeExtractorType_WEEKS = 35,
321 DatetimeExtractorType_MONTHS = 36,
322 DatetimeExtractorType_HOURS = 37,
323 DatetimeExtractorType_MINUTES = 38,
324 DatetimeExtractorType_SECONDS = 39,
325 DatetimeExtractorType_YEARS = 40,
326 DatetimeExtractorType_DIGITS = 41,
327 DatetimeExtractorType_SIGNEDDIGITS = 42,
328 DatetimeExtractorType_ZERO = 43,
329 DatetimeExtractorType_ONE = 44,
330 DatetimeExtractorType_TWO = 45,
331 DatetimeExtractorType_THREE = 46,
332 DatetimeExtractorType_FOUR = 47,
333 DatetimeExtractorType_FIVE = 48,
334 DatetimeExtractorType_SIX = 49,
335 DatetimeExtractorType_SEVEN = 50,
336 DatetimeExtractorType_EIGHT = 51,
337 DatetimeExtractorType_NINE = 52,
338 DatetimeExtractorType_TEN = 53,
339 DatetimeExtractorType_ELEVEN = 54,
340 DatetimeExtractorType_TWELVE = 55,
341 DatetimeExtractorType_THIRTEEN = 56,
342 DatetimeExtractorType_FOURTEEN = 57,
343 DatetimeExtractorType_FIFTEEN = 58,
344 DatetimeExtractorType_SIXTEEN = 59,
345 DatetimeExtractorType_SEVENTEEN = 60,
346 DatetimeExtractorType_EIGHTEEN = 61,
347 DatetimeExtractorType_NINETEEN = 62,
348 DatetimeExtractorType_TWENTY = 63,
349 DatetimeExtractorType_THIRTY = 64,
350 DatetimeExtractorType_FORTY = 65,
351 DatetimeExtractorType_FIFTY = 66,
352 DatetimeExtractorType_SIXTY = 67,
353 DatetimeExtractorType_SEVENTY = 68,
354 DatetimeExtractorType_EIGHTY = 69,
355 DatetimeExtractorType_NINETY = 70,
356 DatetimeExtractorType_HUNDRED = 71,
357 DatetimeExtractorType_THOUSAND = 72,
358 DatetimeExtractorType_NOON = 73,
359 DatetimeExtractorType_MIDNIGHT = 74,
360 DatetimeExtractorType_MIN = DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE,
361 DatetimeExtractorType_MAX = DatetimeExtractorType_MIDNIGHT
362 };
363
EnumValuesDatetimeExtractorType()364 inline const DatetimeExtractorType (&EnumValuesDatetimeExtractorType())[75] {
365 static const DatetimeExtractorType values[] = {
366 DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE,
367 DatetimeExtractorType_AM,
368 DatetimeExtractorType_PM,
369 DatetimeExtractorType_JANUARY,
370 DatetimeExtractorType_FEBRUARY,
371 DatetimeExtractorType_MARCH,
372 DatetimeExtractorType_APRIL,
373 DatetimeExtractorType_MAY,
374 DatetimeExtractorType_JUNE,
375 DatetimeExtractorType_JULY,
376 DatetimeExtractorType_AUGUST,
377 DatetimeExtractorType_SEPTEMBER,
378 DatetimeExtractorType_OCTOBER,
379 DatetimeExtractorType_NOVEMBER,
380 DatetimeExtractorType_DECEMBER,
381 DatetimeExtractorType_NEXT,
382 DatetimeExtractorType_NEXT_OR_SAME,
383 DatetimeExtractorType_LAST,
384 DatetimeExtractorType_NOW,
385 DatetimeExtractorType_TOMORROW,
386 DatetimeExtractorType_YESTERDAY,
387 DatetimeExtractorType_PAST,
388 DatetimeExtractorType_FUTURE,
389 DatetimeExtractorType_DAY,
390 DatetimeExtractorType_WEEK,
391 DatetimeExtractorType_MONTH,
392 DatetimeExtractorType_YEAR,
393 DatetimeExtractorType_MONDAY,
394 DatetimeExtractorType_TUESDAY,
395 DatetimeExtractorType_WEDNESDAY,
396 DatetimeExtractorType_THURSDAY,
397 DatetimeExtractorType_FRIDAY,
398 DatetimeExtractorType_SATURDAY,
399 DatetimeExtractorType_SUNDAY,
400 DatetimeExtractorType_DAYS,
401 DatetimeExtractorType_WEEKS,
402 DatetimeExtractorType_MONTHS,
403 DatetimeExtractorType_HOURS,
404 DatetimeExtractorType_MINUTES,
405 DatetimeExtractorType_SECONDS,
406 DatetimeExtractorType_YEARS,
407 DatetimeExtractorType_DIGITS,
408 DatetimeExtractorType_SIGNEDDIGITS,
409 DatetimeExtractorType_ZERO,
410 DatetimeExtractorType_ONE,
411 DatetimeExtractorType_TWO,
412 DatetimeExtractorType_THREE,
413 DatetimeExtractorType_FOUR,
414 DatetimeExtractorType_FIVE,
415 DatetimeExtractorType_SIX,
416 DatetimeExtractorType_SEVEN,
417 DatetimeExtractorType_EIGHT,
418 DatetimeExtractorType_NINE,
419 DatetimeExtractorType_TEN,
420 DatetimeExtractorType_ELEVEN,
421 DatetimeExtractorType_TWELVE,
422 DatetimeExtractorType_THIRTEEN,
423 DatetimeExtractorType_FOURTEEN,
424 DatetimeExtractorType_FIFTEEN,
425 DatetimeExtractorType_SIXTEEN,
426 DatetimeExtractorType_SEVENTEEN,
427 DatetimeExtractorType_EIGHTEEN,
428 DatetimeExtractorType_NINETEEN,
429 DatetimeExtractorType_TWENTY,
430 DatetimeExtractorType_THIRTY,
431 DatetimeExtractorType_FORTY,
432 DatetimeExtractorType_FIFTY,
433 DatetimeExtractorType_SIXTY,
434 DatetimeExtractorType_SEVENTY,
435 DatetimeExtractorType_EIGHTY,
436 DatetimeExtractorType_NINETY,
437 DatetimeExtractorType_HUNDRED,
438 DatetimeExtractorType_THOUSAND,
439 DatetimeExtractorType_NOON,
440 DatetimeExtractorType_MIDNIGHT
441 };
442 return values;
443 }
444
EnumNamesDatetimeExtractorType()445 inline const char * const *EnumNamesDatetimeExtractorType() {
446 static const char * const names[76] = {
447 "UNKNOWN_DATETIME_EXTRACTOR_TYPE",
448 "AM",
449 "PM",
450 "JANUARY",
451 "FEBRUARY",
452 "MARCH",
453 "APRIL",
454 "MAY",
455 "JUNE",
456 "JULY",
457 "AUGUST",
458 "SEPTEMBER",
459 "OCTOBER",
460 "NOVEMBER",
461 "DECEMBER",
462 "NEXT",
463 "NEXT_OR_SAME",
464 "LAST",
465 "NOW",
466 "TOMORROW",
467 "YESTERDAY",
468 "PAST",
469 "FUTURE",
470 "DAY",
471 "WEEK",
472 "MONTH",
473 "YEAR",
474 "MONDAY",
475 "TUESDAY",
476 "WEDNESDAY",
477 "THURSDAY",
478 "FRIDAY",
479 "SATURDAY",
480 "SUNDAY",
481 "DAYS",
482 "WEEKS",
483 "MONTHS",
484 "HOURS",
485 "MINUTES",
486 "SECONDS",
487 "YEARS",
488 "DIGITS",
489 "SIGNEDDIGITS",
490 "ZERO",
491 "ONE",
492 "TWO",
493 "THREE",
494 "FOUR",
495 "FIVE",
496 "SIX",
497 "SEVEN",
498 "EIGHT",
499 "NINE",
500 "TEN",
501 "ELEVEN",
502 "TWELVE",
503 "THIRTEEN",
504 "FOURTEEN",
505 "FIFTEEN",
506 "SIXTEEN",
507 "SEVENTEEN",
508 "EIGHTEEN",
509 "NINETEEN",
510 "TWENTY",
511 "THIRTY",
512 "FORTY",
513 "FIFTY",
514 "SIXTY",
515 "SEVENTY",
516 "EIGHTY",
517 "NINETY",
518 "HUNDRED",
519 "THOUSAND",
520 "NOON",
521 "MIDNIGHT",
522 nullptr
523 };
524 return names;
525 }
526
EnumNameDatetimeExtractorType(DatetimeExtractorType e)527 inline const char *EnumNameDatetimeExtractorType(DatetimeExtractorType e) {
528 if (flatbuffers::IsOutRange(e, DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE, DatetimeExtractorType_MIDNIGHT)) return "";
529 const size_t index = static_cast<size_t>(e);
530 return EnumNamesDatetimeExtractorType()[index];
531 }
532
533 enum DatetimeGroupType : int32_t {
534 DatetimeGroupType_GROUP_UNKNOWN = 0,
535 DatetimeGroupType_GROUP_UNUSED = 1,
536 DatetimeGroupType_GROUP_YEAR = 2,
537 DatetimeGroupType_GROUP_MONTH = 3,
538 DatetimeGroupType_GROUP_DAY = 4,
539 DatetimeGroupType_GROUP_HOUR = 5,
540 DatetimeGroupType_GROUP_MINUTE = 6,
541 DatetimeGroupType_GROUP_SECOND = 7,
542 DatetimeGroupType_GROUP_AMPM = 8,
543 DatetimeGroupType_GROUP_RELATIONDISTANCE = 9,
544 DatetimeGroupType_GROUP_RELATION = 10,
545 DatetimeGroupType_GROUP_RELATIONTYPE = 11,
546 DatetimeGroupType_GROUP_DUMMY1 = 12,
547 DatetimeGroupType_GROUP_DUMMY2 = 13,
548 DatetimeGroupType_GROUP_ABSOLUTETIME = 14,
549 DatetimeGroupType_MIN = DatetimeGroupType_GROUP_UNKNOWN,
550 DatetimeGroupType_MAX = DatetimeGroupType_GROUP_ABSOLUTETIME
551 };
552
EnumValuesDatetimeGroupType()553 inline const DatetimeGroupType (&EnumValuesDatetimeGroupType())[15] {
554 static const DatetimeGroupType values[] = {
555 DatetimeGroupType_GROUP_UNKNOWN,
556 DatetimeGroupType_GROUP_UNUSED,
557 DatetimeGroupType_GROUP_YEAR,
558 DatetimeGroupType_GROUP_MONTH,
559 DatetimeGroupType_GROUP_DAY,
560 DatetimeGroupType_GROUP_HOUR,
561 DatetimeGroupType_GROUP_MINUTE,
562 DatetimeGroupType_GROUP_SECOND,
563 DatetimeGroupType_GROUP_AMPM,
564 DatetimeGroupType_GROUP_RELATIONDISTANCE,
565 DatetimeGroupType_GROUP_RELATION,
566 DatetimeGroupType_GROUP_RELATIONTYPE,
567 DatetimeGroupType_GROUP_DUMMY1,
568 DatetimeGroupType_GROUP_DUMMY2,
569 DatetimeGroupType_GROUP_ABSOLUTETIME
570 };
571 return values;
572 }
573
EnumNamesDatetimeGroupType()574 inline const char * const *EnumNamesDatetimeGroupType() {
575 static const char * const names[16] = {
576 "GROUP_UNKNOWN",
577 "GROUP_UNUSED",
578 "GROUP_YEAR",
579 "GROUP_MONTH",
580 "GROUP_DAY",
581 "GROUP_HOUR",
582 "GROUP_MINUTE",
583 "GROUP_SECOND",
584 "GROUP_AMPM",
585 "GROUP_RELATIONDISTANCE",
586 "GROUP_RELATION",
587 "GROUP_RELATIONTYPE",
588 "GROUP_DUMMY1",
589 "GROUP_DUMMY2",
590 "GROUP_ABSOLUTETIME",
591 nullptr
592 };
593 return names;
594 }
595
EnumNameDatetimeGroupType(DatetimeGroupType e)596 inline const char *EnumNameDatetimeGroupType(DatetimeGroupType e) {
597 if (flatbuffers::IsOutRange(e, DatetimeGroupType_GROUP_UNKNOWN, DatetimeGroupType_GROUP_ABSOLUTETIME)) return "";
598 const size_t index = static_cast<size_t>(e);
599 return EnumNamesDatetimeGroupType()[index];
600 }
601
602 namespace FeatureProcessorOptions_ {
603
604 enum CenterTokenSelectionMethod : int32_t {
605 CenterTokenSelectionMethod_DEFAULT_CENTER_TOKEN_METHOD = 0,
606 CenterTokenSelectionMethod_CENTER_TOKEN_FROM_CLICK = 1,
607 CenterTokenSelectionMethod_CENTER_TOKEN_MIDDLE_OF_SELECTION = 2,
608 CenterTokenSelectionMethod_MIN = CenterTokenSelectionMethod_DEFAULT_CENTER_TOKEN_METHOD,
609 CenterTokenSelectionMethod_MAX = CenterTokenSelectionMethod_CENTER_TOKEN_MIDDLE_OF_SELECTION
610 };
611
EnumValuesCenterTokenSelectionMethod()612 inline const CenterTokenSelectionMethod (&EnumValuesCenterTokenSelectionMethod())[3] {
613 static const CenterTokenSelectionMethod values[] = {
614 CenterTokenSelectionMethod_DEFAULT_CENTER_TOKEN_METHOD,
615 CenterTokenSelectionMethod_CENTER_TOKEN_FROM_CLICK,
616 CenterTokenSelectionMethod_CENTER_TOKEN_MIDDLE_OF_SELECTION
617 };
618 return values;
619 }
620
EnumNamesCenterTokenSelectionMethod()621 inline const char * const *EnumNamesCenterTokenSelectionMethod() {
622 static const char * const names[4] = {
623 "DEFAULT_CENTER_TOKEN_METHOD",
624 "CENTER_TOKEN_FROM_CLICK",
625 "CENTER_TOKEN_MIDDLE_OF_SELECTION",
626 nullptr
627 };
628 return names;
629 }
630
EnumNameCenterTokenSelectionMethod(CenterTokenSelectionMethod e)631 inline const char *EnumNameCenterTokenSelectionMethod(CenterTokenSelectionMethod e) {
632 if (flatbuffers::IsOutRange(e, CenterTokenSelectionMethod_DEFAULT_CENTER_TOKEN_METHOD, CenterTokenSelectionMethod_CENTER_TOKEN_MIDDLE_OF_SELECTION)) return "";
633 const size_t index = static_cast<size_t>(e);
634 return EnumNamesCenterTokenSelectionMethod()[index];
635 }
636
637 } // namespace FeatureProcessorOptions_
638
639 namespace TranslateAnnotatorOptions_ {
640
641 enum Algorithm : int32_t {
642 Algorithm_DEFAULT_ALGORITHM = 0,
643 Algorithm_BACKOFF = 1,
644 Algorithm_MIN = Algorithm_DEFAULT_ALGORITHM,
645 Algorithm_MAX = Algorithm_BACKOFF
646 };
647
EnumValuesAlgorithm()648 inline const Algorithm (&EnumValuesAlgorithm())[2] {
649 static const Algorithm values[] = {
650 Algorithm_DEFAULT_ALGORITHM,
651 Algorithm_BACKOFF
652 };
653 return values;
654 }
655
EnumNamesAlgorithm()656 inline const char * const *EnumNamesAlgorithm() {
657 static const char * const names[3] = {
658 "DEFAULT_ALGORITHM",
659 "BACKOFF",
660 nullptr
661 };
662 return names;
663 }
664
EnumNameAlgorithm(Algorithm e)665 inline const char *EnumNameAlgorithm(Algorithm e) {
666 if (flatbuffers::IsOutRange(e, Algorithm_DEFAULT_ALGORITHM, Algorithm_BACKOFF)) return "";
667 const size_t index = static_cast<size_t>(e);
668 return EnumNamesAlgorithm()[index];
669 }
670
671 } // namespace TranslateAnnotatorOptions_
672
673 namespace PodNerModel_ {
674 namespace Label_ {
675
676 enum BoiseType : int32_t {
677 BoiseType_NONE = 0,
678 BoiseType_BEGIN = 1,
679 BoiseType_O = 2,
680 BoiseType_INTERMEDIATE = 3,
681 BoiseType_SINGLE = 4,
682 BoiseType_END = 5,
683 BoiseType_MIN = BoiseType_NONE,
684 BoiseType_MAX = BoiseType_END
685 };
686
EnumValuesBoiseType()687 inline const BoiseType (&EnumValuesBoiseType())[6] {
688 static const BoiseType values[] = {
689 BoiseType_NONE,
690 BoiseType_BEGIN,
691 BoiseType_O,
692 BoiseType_INTERMEDIATE,
693 BoiseType_SINGLE,
694 BoiseType_END
695 };
696 return values;
697 }
698
EnumNamesBoiseType()699 inline const char * const *EnumNamesBoiseType() {
700 static const char * const names[7] = {
701 "NONE",
702 "BEGIN",
703 "O",
704 "INTERMEDIATE",
705 "SINGLE",
706 "END",
707 nullptr
708 };
709 return names;
710 }
711
EnumNameBoiseType(BoiseType e)712 inline const char *EnumNameBoiseType(BoiseType e) {
713 if (flatbuffers::IsOutRange(e, BoiseType_NONE, BoiseType_END)) return "";
714 const size_t index = static_cast<size_t>(e);
715 return EnumNamesBoiseType()[index];
716 }
717
718 enum MentionType : int32_t {
719 MentionType_UNDEFINED = 0,
720 MentionType_NAM = 1,
721 MentionType_NOM = 2,
722 MentionType_MIN = MentionType_UNDEFINED,
723 MentionType_MAX = MentionType_NOM
724 };
725
EnumValuesMentionType()726 inline const MentionType (&EnumValuesMentionType())[3] {
727 static const MentionType values[] = {
728 MentionType_UNDEFINED,
729 MentionType_NAM,
730 MentionType_NOM
731 };
732 return values;
733 }
734
EnumNamesMentionType()735 inline const char * const *EnumNamesMentionType() {
736 static const char * const names[4] = {
737 "UNDEFINED",
738 "NAM",
739 "NOM",
740 nullptr
741 };
742 return names;
743 }
744
EnumNameMentionType(MentionType e)745 inline const char *EnumNameMentionType(MentionType e) {
746 if (flatbuffers::IsOutRange(e, MentionType_UNDEFINED, MentionType_NOM)) return "";
747 const size_t index = static_cast<size_t>(e);
748 return EnumNamesMentionType()[index];
749 }
750
751 } // namespace Label_
752 } // namespace PodNerModel_
753
754 struct SelectionModelOptionsT : public flatbuffers::NativeTable {
755 typedef SelectionModelOptions TableType;
756 bool strip_unpaired_brackets = true;
757 int32_t symmetry_context_size = 0;
758 int32_t batch_size = 1024;
759 bool always_classify_suggested_selection = false;
760 };
761
762 struct SelectionModelOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
763 typedef SelectionModelOptionsT NativeTableType;
764 typedef SelectionModelOptionsBuilder Builder;
765 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
766 VT_STRIP_UNPAIRED_BRACKETS = 4,
767 VT_SYMMETRY_CONTEXT_SIZE = 6,
768 VT_BATCH_SIZE = 8,
769 VT_ALWAYS_CLASSIFY_SUGGESTED_SELECTION = 10
770 };
strip_unpaired_bracketsFLATBUFFERS_FINAL_CLASS771 bool strip_unpaired_brackets() const {
772 return GetField<uint8_t>(VT_STRIP_UNPAIRED_BRACKETS, 1) != 0;
773 }
symmetry_context_sizeFLATBUFFERS_FINAL_CLASS774 int32_t symmetry_context_size() const {
775 return GetField<int32_t>(VT_SYMMETRY_CONTEXT_SIZE, 0);
776 }
batch_sizeFLATBUFFERS_FINAL_CLASS777 int32_t batch_size() const {
778 return GetField<int32_t>(VT_BATCH_SIZE, 1024);
779 }
always_classify_suggested_selectionFLATBUFFERS_FINAL_CLASS780 bool always_classify_suggested_selection() const {
781 return GetField<uint8_t>(VT_ALWAYS_CLASSIFY_SUGGESTED_SELECTION, 0) != 0;
782 }
VerifyFLATBUFFERS_FINAL_CLASS783 bool Verify(flatbuffers::Verifier &verifier) const {
784 return VerifyTableStart(verifier) &&
785 VerifyField<uint8_t>(verifier, VT_STRIP_UNPAIRED_BRACKETS, 1) &&
786 VerifyField<int32_t>(verifier, VT_SYMMETRY_CONTEXT_SIZE, 4) &&
787 VerifyField<int32_t>(verifier, VT_BATCH_SIZE, 4) &&
788 VerifyField<uint8_t>(verifier, VT_ALWAYS_CLASSIFY_SUGGESTED_SELECTION, 1) &&
789 verifier.EndTable();
790 }
791 SelectionModelOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
792 void UnPackTo(SelectionModelOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
793 static flatbuffers::Offset<SelectionModelOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SelectionModelOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
794 };
795
796 struct SelectionModelOptionsBuilder {
797 typedef SelectionModelOptions Table;
798 flatbuffers::FlatBufferBuilder &fbb_;
799 flatbuffers::uoffset_t start_;
add_strip_unpaired_bracketsSelectionModelOptionsBuilder800 void add_strip_unpaired_brackets(bool strip_unpaired_brackets) {
801 fbb_.AddElement<uint8_t>(SelectionModelOptions::VT_STRIP_UNPAIRED_BRACKETS, static_cast<uint8_t>(strip_unpaired_brackets), 1);
802 }
add_symmetry_context_sizeSelectionModelOptionsBuilder803 void add_symmetry_context_size(int32_t symmetry_context_size) {
804 fbb_.AddElement<int32_t>(SelectionModelOptions::VT_SYMMETRY_CONTEXT_SIZE, symmetry_context_size, 0);
805 }
add_batch_sizeSelectionModelOptionsBuilder806 void add_batch_size(int32_t batch_size) {
807 fbb_.AddElement<int32_t>(SelectionModelOptions::VT_BATCH_SIZE, batch_size, 1024);
808 }
add_always_classify_suggested_selectionSelectionModelOptionsBuilder809 void add_always_classify_suggested_selection(bool always_classify_suggested_selection) {
810 fbb_.AddElement<uint8_t>(SelectionModelOptions::VT_ALWAYS_CLASSIFY_SUGGESTED_SELECTION, static_cast<uint8_t>(always_classify_suggested_selection), 0);
811 }
SelectionModelOptionsBuilderSelectionModelOptionsBuilder812 explicit SelectionModelOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
813 : fbb_(_fbb) {
814 start_ = fbb_.StartTable();
815 }
FinishSelectionModelOptionsBuilder816 flatbuffers::Offset<SelectionModelOptions> Finish() {
817 const auto end = fbb_.EndTable(start_);
818 auto o = flatbuffers::Offset<SelectionModelOptions>(end);
819 return o;
820 }
821 };
822
823 inline flatbuffers::Offset<SelectionModelOptions> CreateSelectionModelOptions(
824 flatbuffers::FlatBufferBuilder &_fbb,
825 bool strip_unpaired_brackets = true,
826 int32_t symmetry_context_size = 0,
827 int32_t batch_size = 1024,
828 bool always_classify_suggested_selection = false) {
829 SelectionModelOptionsBuilder builder_(_fbb);
830 builder_.add_batch_size(batch_size);
831 builder_.add_symmetry_context_size(symmetry_context_size);
832 builder_.add_always_classify_suggested_selection(always_classify_suggested_selection);
833 builder_.add_strip_unpaired_brackets(strip_unpaired_brackets);
834 return builder_.Finish();
835 }
836
837 flatbuffers::Offset<SelectionModelOptions> CreateSelectionModelOptions(flatbuffers::FlatBufferBuilder &_fbb, const SelectionModelOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
838
839 struct ClassificationModelOptionsT : public flatbuffers::NativeTable {
840 typedef ClassificationModelOptions TableType;
841 int32_t phone_min_num_digits = 7;
842 int32_t phone_max_num_digits = 15;
843 int32_t address_min_num_tokens = 0;
844 int32_t max_num_tokens = -1;
845 };
846
847 struct ClassificationModelOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
848 typedef ClassificationModelOptionsT NativeTableType;
849 typedef ClassificationModelOptionsBuilder Builder;
850 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
851 VT_PHONE_MIN_NUM_DIGITS = 4,
852 VT_PHONE_MAX_NUM_DIGITS = 6,
853 VT_ADDRESS_MIN_NUM_TOKENS = 8,
854 VT_MAX_NUM_TOKENS = 10
855 };
phone_min_num_digitsFLATBUFFERS_FINAL_CLASS856 int32_t phone_min_num_digits() const {
857 return GetField<int32_t>(VT_PHONE_MIN_NUM_DIGITS, 7);
858 }
phone_max_num_digitsFLATBUFFERS_FINAL_CLASS859 int32_t phone_max_num_digits() const {
860 return GetField<int32_t>(VT_PHONE_MAX_NUM_DIGITS, 15);
861 }
address_min_num_tokensFLATBUFFERS_FINAL_CLASS862 int32_t address_min_num_tokens() const {
863 return GetField<int32_t>(VT_ADDRESS_MIN_NUM_TOKENS, 0);
864 }
max_num_tokensFLATBUFFERS_FINAL_CLASS865 int32_t max_num_tokens() const {
866 return GetField<int32_t>(VT_MAX_NUM_TOKENS, -1);
867 }
VerifyFLATBUFFERS_FINAL_CLASS868 bool Verify(flatbuffers::Verifier &verifier) const {
869 return VerifyTableStart(verifier) &&
870 VerifyField<int32_t>(verifier, VT_PHONE_MIN_NUM_DIGITS, 4) &&
871 VerifyField<int32_t>(verifier, VT_PHONE_MAX_NUM_DIGITS, 4) &&
872 VerifyField<int32_t>(verifier, VT_ADDRESS_MIN_NUM_TOKENS, 4) &&
873 VerifyField<int32_t>(verifier, VT_MAX_NUM_TOKENS, 4) &&
874 verifier.EndTable();
875 }
876 ClassificationModelOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
877 void UnPackTo(ClassificationModelOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
878 static flatbuffers::Offset<ClassificationModelOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ClassificationModelOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
879 };
880
881 struct ClassificationModelOptionsBuilder {
882 typedef ClassificationModelOptions Table;
883 flatbuffers::FlatBufferBuilder &fbb_;
884 flatbuffers::uoffset_t start_;
add_phone_min_num_digitsClassificationModelOptionsBuilder885 void add_phone_min_num_digits(int32_t phone_min_num_digits) {
886 fbb_.AddElement<int32_t>(ClassificationModelOptions::VT_PHONE_MIN_NUM_DIGITS, phone_min_num_digits, 7);
887 }
add_phone_max_num_digitsClassificationModelOptionsBuilder888 void add_phone_max_num_digits(int32_t phone_max_num_digits) {
889 fbb_.AddElement<int32_t>(ClassificationModelOptions::VT_PHONE_MAX_NUM_DIGITS, phone_max_num_digits, 15);
890 }
add_address_min_num_tokensClassificationModelOptionsBuilder891 void add_address_min_num_tokens(int32_t address_min_num_tokens) {
892 fbb_.AddElement<int32_t>(ClassificationModelOptions::VT_ADDRESS_MIN_NUM_TOKENS, address_min_num_tokens, 0);
893 }
add_max_num_tokensClassificationModelOptionsBuilder894 void add_max_num_tokens(int32_t max_num_tokens) {
895 fbb_.AddElement<int32_t>(ClassificationModelOptions::VT_MAX_NUM_TOKENS, max_num_tokens, -1);
896 }
ClassificationModelOptionsBuilderClassificationModelOptionsBuilder897 explicit ClassificationModelOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
898 : fbb_(_fbb) {
899 start_ = fbb_.StartTable();
900 }
FinishClassificationModelOptionsBuilder901 flatbuffers::Offset<ClassificationModelOptions> Finish() {
902 const auto end = fbb_.EndTable(start_);
903 auto o = flatbuffers::Offset<ClassificationModelOptions>(end);
904 return o;
905 }
906 };
907
908 inline flatbuffers::Offset<ClassificationModelOptions> CreateClassificationModelOptions(
909 flatbuffers::FlatBufferBuilder &_fbb,
910 int32_t phone_min_num_digits = 7,
911 int32_t phone_max_num_digits = 15,
912 int32_t address_min_num_tokens = 0,
913 int32_t max_num_tokens = -1) {
914 ClassificationModelOptionsBuilder builder_(_fbb);
915 builder_.add_max_num_tokens(max_num_tokens);
916 builder_.add_address_min_num_tokens(address_min_num_tokens);
917 builder_.add_phone_max_num_digits(phone_max_num_digits);
918 builder_.add_phone_min_num_digits(phone_min_num_digits);
919 return builder_.Finish();
920 }
921
922 flatbuffers::Offset<ClassificationModelOptions> CreateClassificationModelOptions(flatbuffers::FlatBufferBuilder &_fbb, const ClassificationModelOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
923
924 struct VerificationOptionsT : public flatbuffers::NativeTable {
925 typedef VerificationOptions TableType;
926 bool verify_luhn_checksum = false;
927 int32_t lua_verifier = -1;
928 };
929
930 struct VerificationOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
931 typedef VerificationOptionsT NativeTableType;
932 typedef VerificationOptionsBuilder Builder;
933 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
934 VT_VERIFY_LUHN_CHECKSUM = 4,
935 VT_LUA_VERIFIER = 6
936 };
verify_luhn_checksumFLATBUFFERS_FINAL_CLASS937 bool verify_luhn_checksum() const {
938 return GetField<uint8_t>(VT_VERIFY_LUHN_CHECKSUM, 0) != 0;
939 }
lua_verifierFLATBUFFERS_FINAL_CLASS940 int32_t lua_verifier() const {
941 return GetField<int32_t>(VT_LUA_VERIFIER, -1);
942 }
VerifyFLATBUFFERS_FINAL_CLASS943 bool Verify(flatbuffers::Verifier &verifier) const {
944 return VerifyTableStart(verifier) &&
945 VerifyField<uint8_t>(verifier, VT_VERIFY_LUHN_CHECKSUM, 1) &&
946 VerifyField<int32_t>(verifier, VT_LUA_VERIFIER, 4) &&
947 verifier.EndTable();
948 }
949 VerificationOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
950 void UnPackTo(VerificationOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
951 static flatbuffers::Offset<VerificationOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const VerificationOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
952 };
953
954 struct VerificationOptionsBuilder {
955 typedef VerificationOptions Table;
956 flatbuffers::FlatBufferBuilder &fbb_;
957 flatbuffers::uoffset_t start_;
add_verify_luhn_checksumVerificationOptionsBuilder958 void add_verify_luhn_checksum(bool verify_luhn_checksum) {
959 fbb_.AddElement<uint8_t>(VerificationOptions::VT_VERIFY_LUHN_CHECKSUM, static_cast<uint8_t>(verify_luhn_checksum), 0);
960 }
add_lua_verifierVerificationOptionsBuilder961 void add_lua_verifier(int32_t lua_verifier) {
962 fbb_.AddElement<int32_t>(VerificationOptions::VT_LUA_VERIFIER, lua_verifier, -1);
963 }
VerificationOptionsBuilderVerificationOptionsBuilder964 explicit VerificationOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
965 : fbb_(_fbb) {
966 start_ = fbb_.StartTable();
967 }
FinishVerificationOptionsBuilder968 flatbuffers::Offset<VerificationOptions> Finish() {
969 const auto end = fbb_.EndTable(start_);
970 auto o = flatbuffers::Offset<VerificationOptions>(end);
971 return o;
972 }
973 };
974
975 inline flatbuffers::Offset<VerificationOptions> CreateVerificationOptions(
976 flatbuffers::FlatBufferBuilder &_fbb,
977 bool verify_luhn_checksum = false,
978 int32_t lua_verifier = -1) {
979 VerificationOptionsBuilder builder_(_fbb);
980 builder_.add_lua_verifier(lua_verifier);
981 builder_.add_verify_luhn_checksum(verify_luhn_checksum);
982 return builder_.Finish();
983 }
984
985 flatbuffers::Offset<VerificationOptions> CreateVerificationOptions(flatbuffers::FlatBufferBuilder &_fbb, const VerificationOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
986
987 struct CapturingGroupT : public flatbuffers::NativeTable {
988 typedef CapturingGroup TableType;
989 bool extend_selection = true;
990 std::unique_ptr<libtextclassifier3::FlatbufferFieldPathT> entity_field_path{};
991 std::string serialized_entity_data{};
992 std::unique_ptr<libtextclassifier3::NormalizationOptionsT> normalization_options{};
993 std::unique_ptr<libtextclassifier3::EntityDataT> entity_data{};
994 CapturingGroupT() = default;
995 CapturingGroupT(const CapturingGroupT &o);
996 CapturingGroupT(CapturingGroupT&&) FLATBUFFERS_NOEXCEPT = default;
997 CapturingGroupT &operator=(CapturingGroupT o) FLATBUFFERS_NOEXCEPT;
998 };
999
1000 struct CapturingGroup FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1001 typedef CapturingGroupT NativeTableType;
1002 typedef CapturingGroupBuilder Builder;
1003 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1004 VT_EXTEND_SELECTION = 4,
1005 VT_ENTITY_FIELD_PATH = 6,
1006 VT_SERIALIZED_ENTITY_DATA = 8,
1007 VT_NORMALIZATION_OPTIONS = 10,
1008 VT_ENTITY_DATA = 12
1009 };
extend_selectionFLATBUFFERS_FINAL_CLASS1010 bool extend_selection() const {
1011 return GetField<uint8_t>(VT_EXTEND_SELECTION, 1) != 0;
1012 }
entity_field_pathFLATBUFFERS_FINAL_CLASS1013 const libtextclassifier3::FlatbufferFieldPath *entity_field_path() const {
1014 return GetPointer<const libtextclassifier3::FlatbufferFieldPath *>(VT_ENTITY_FIELD_PATH);
1015 }
serialized_entity_dataFLATBUFFERS_FINAL_CLASS1016 const flatbuffers::String *serialized_entity_data() const {
1017 return GetPointer<const flatbuffers::String *>(VT_SERIALIZED_ENTITY_DATA);
1018 }
normalization_optionsFLATBUFFERS_FINAL_CLASS1019 const libtextclassifier3::NormalizationOptions *normalization_options() const {
1020 return GetPointer<const libtextclassifier3::NormalizationOptions *>(VT_NORMALIZATION_OPTIONS);
1021 }
entity_dataFLATBUFFERS_FINAL_CLASS1022 const libtextclassifier3::EntityData *entity_data() const {
1023 return GetPointer<const libtextclassifier3::EntityData *>(VT_ENTITY_DATA);
1024 }
VerifyFLATBUFFERS_FINAL_CLASS1025 bool Verify(flatbuffers::Verifier &verifier) const {
1026 return VerifyTableStart(verifier) &&
1027 VerifyField<uint8_t>(verifier, VT_EXTEND_SELECTION, 1) &&
1028 VerifyOffset(verifier, VT_ENTITY_FIELD_PATH) &&
1029 verifier.VerifyTable(entity_field_path()) &&
1030 VerifyOffset(verifier, VT_SERIALIZED_ENTITY_DATA) &&
1031 verifier.VerifyString(serialized_entity_data()) &&
1032 VerifyOffset(verifier, VT_NORMALIZATION_OPTIONS) &&
1033 verifier.VerifyTable(normalization_options()) &&
1034 VerifyOffset(verifier, VT_ENTITY_DATA) &&
1035 verifier.VerifyTable(entity_data()) &&
1036 verifier.EndTable();
1037 }
1038 CapturingGroupT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1039 void UnPackTo(CapturingGroupT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1040 static flatbuffers::Offset<CapturingGroup> Pack(flatbuffers::FlatBufferBuilder &_fbb, const CapturingGroupT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1041 };
1042
1043 struct CapturingGroupBuilder {
1044 typedef CapturingGroup Table;
1045 flatbuffers::FlatBufferBuilder &fbb_;
1046 flatbuffers::uoffset_t start_;
add_extend_selectionCapturingGroupBuilder1047 void add_extend_selection(bool extend_selection) {
1048 fbb_.AddElement<uint8_t>(CapturingGroup::VT_EXTEND_SELECTION, static_cast<uint8_t>(extend_selection), 1);
1049 }
add_entity_field_pathCapturingGroupBuilder1050 void add_entity_field_path(flatbuffers::Offset<libtextclassifier3::FlatbufferFieldPath> entity_field_path) {
1051 fbb_.AddOffset(CapturingGroup::VT_ENTITY_FIELD_PATH, entity_field_path);
1052 }
add_serialized_entity_dataCapturingGroupBuilder1053 void add_serialized_entity_data(flatbuffers::Offset<flatbuffers::String> serialized_entity_data) {
1054 fbb_.AddOffset(CapturingGroup::VT_SERIALIZED_ENTITY_DATA, serialized_entity_data);
1055 }
add_normalization_optionsCapturingGroupBuilder1056 void add_normalization_options(flatbuffers::Offset<libtextclassifier3::NormalizationOptions> normalization_options) {
1057 fbb_.AddOffset(CapturingGroup::VT_NORMALIZATION_OPTIONS, normalization_options);
1058 }
add_entity_dataCapturingGroupBuilder1059 void add_entity_data(flatbuffers::Offset<libtextclassifier3::EntityData> entity_data) {
1060 fbb_.AddOffset(CapturingGroup::VT_ENTITY_DATA, entity_data);
1061 }
CapturingGroupBuilderCapturingGroupBuilder1062 explicit CapturingGroupBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1063 : fbb_(_fbb) {
1064 start_ = fbb_.StartTable();
1065 }
FinishCapturingGroupBuilder1066 flatbuffers::Offset<CapturingGroup> Finish() {
1067 const auto end = fbb_.EndTable(start_);
1068 auto o = flatbuffers::Offset<CapturingGroup>(end);
1069 return o;
1070 }
1071 };
1072
1073 inline flatbuffers::Offset<CapturingGroup> CreateCapturingGroup(
1074 flatbuffers::FlatBufferBuilder &_fbb,
1075 bool extend_selection = true,
1076 flatbuffers::Offset<libtextclassifier3::FlatbufferFieldPath> entity_field_path = 0,
1077 flatbuffers::Offset<flatbuffers::String> serialized_entity_data = 0,
1078 flatbuffers::Offset<libtextclassifier3::NormalizationOptions> normalization_options = 0,
1079 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
1080 CapturingGroupBuilder builder_(_fbb);
1081 builder_.add_entity_data(entity_data);
1082 builder_.add_normalization_options(normalization_options);
1083 builder_.add_serialized_entity_data(serialized_entity_data);
1084 builder_.add_entity_field_path(entity_field_path);
1085 builder_.add_extend_selection(extend_selection);
1086 return builder_.Finish();
1087 }
1088
1089 inline flatbuffers::Offset<CapturingGroup> CreateCapturingGroupDirect(
1090 flatbuffers::FlatBufferBuilder &_fbb,
1091 bool extend_selection = true,
1092 flatbuffers::Offset<libtextclassifier3::FlatbufferFieldPath> entity_field_path = 0,
1093 const char *serialized_entity_data = nullptr,
1094 flatbuffers::Offset<libtextclassifier3::NormalizationOptions> normalization_options = 0,
1095 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
1096 auto serialized_entity_data__ = serialized_entity_data ? _fbb.CreateSharedString(serialized_entity_data) : 0;
1097 return libtextclassifier3::CreateCapturingGroup(
1098 _fbb,
1099 extend_selection,
1100 entity_field_path,
1101 serialized_entity_data__,
1102 normalization_options,
1103 entity_data);
1104 }
1105
1106 flatbuffers::Offset<CapturingGroup> CreateCapturingGroup(flatbuffers::FlatBufferBuilder &_fbb, const CapturingGroupT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1107
1108 namespace RegexModel_ {
1109
1110 struct PatternT : public flatbuffers::NativeTable {
1111 typedef Pattern TableType;
1112 std::string collection_name{};
1113 std::string pattern{};
1114 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
1115 float target_classification_score = 1.0f;
1116 float priority_score = 0.0f;
1117 bool use_approximate_matching = false;
1118 std::unique_ptr<libtextclassifier3::CompressedBufferT> compressed_pattern{};
1119 std::unique_ptr<libtextclassifier3::VerificationOptionsT> verification_options{};
1120 std::vector<std::unique_ptr<libtextclassifier3::CapturingGroupT>> capturing_group{};
1121 std::string serialized_entity_data{};
1122 std::unique_ptr<libtextclassifier3::EntityDataT> entity_data{};
1123 PatternT() = default;
1124 PatternT(const PatternT &o);
1125 PatternT(PatternT&&) FLATBUFFERS_NOEXCEPT = default;
1126 PatternT &operator=(PatternT o) FLATBUFFERS_NOEXCEPT;
1127 };
1128
1129 struct Pattern FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1130 typedef PatternT NativeTableType;
1131 typedef PatternBuilder Builder;
1132 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1133 VT_COLLECTION_NAME = 4,
1134 VT_PATTERN = 6,
1135 VT_ENABLED_MODES = 8,
1136 VT_TARGET_CLASSIFICATION_SCORE = 10,
1137 VT_PRIORITY_SCORE = 12,
1138 VT_USE_APPROXIMATE_MATCHING = 14,
1139 VT_COMPRESSED_PATTERN = 16,
1140 VT_VERIFICATION_OPTIONS = 18,
1141 VT_CAPTURING_GROUP = 20,
1142 VT_SERIALIZED_ENTITY_DATA = 22,
1143 VT_ENTITY_DATA = 24
1144 };
collection_nameFLATBUFFERS_FINAL_CLASS1145 const flatbuffers::String *collection_name() const {
1146 return GetPointer<const flatbuffers::String *>(VT_COLLECTION_NAME);
1147 }
patternFLATBUFFERS_FINAL_CLASS1148 const flatbuffers::String *pattern() const {
1149 return GetPointer<const flatbuffers::String *>(VT_PATTERN);
1150 }
enabled_modesFLATBUFFERS_FINAL_CLASS1151 libtextclassifier3::ModeFlag enabled_modes() const {
1152 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
1153 }
target_classification_scoreFLATBUFFERS_FINAL_CLASS1154 float target_classification_score() const {
1155 return GetField<float>(VT_TARGET_CLASSIFICATION_SCORE, 1.0f);
1156 }
priority_scoreFLATBUFFERS_FINAL_CLASS1157 float priority_score() const {
1158 return GetField<float>(VT_PRIORITY_SCORE, 0.0f);
1159 }
use_approximate_matchingFLATBUFFERS_FINAL_CLASS1160 bool use_approximate_matching() const {
1161 return GetField<uint8_t>(VT_USE_APPROXIMATE_MATCHING, 0) != 0;
1162 }
compressed_patternFLATBUFFERS_FINAL_CLASS1163 const libtextclassifier3::CompressedBuffer *compressed_pattern() const {
1164 return GetPointer<const libtextclassifier3::CompressedBuffer *>(VT_COMPRESSED_PATTERN);
1165 }
verification_optionsFLATBUFFERS_FINAL_CLASS1166 const libtextclassifier3::VerificationOptions *verification_options() const {
1167 return GetPointer<const libtextclassifier3::VerificationOptions *>(VT_VERIFICATION_OPTIONS);
1168 }
capturing_groupFLATBUFFERS_FINAL_CLASS1169 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *capturing_group() const {
1170 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *>(VT_CAPTURING_GROUP);
1171 }
serialized_entity_dataFLATBUFFERS_FINAL_CLASS1172 const flatbuffers::String *serialized_entity_data() const {
1173 return GetPointer<const flatbuffers::String *>(VT_SERIALIZED_ENTITY_DATA);
1174 }
entity_dataFLATBUFFERS_FINAL_CLASS1175 const libtextclassifier3::EntityData *entity_data() const {
1176 return GetPointer<const libtextclassifier3::EntityData *>(VT_ENTITY_DATA);
1177 }
VerifyFLATBUFFERS_FINAL_CLASS1178 bool Verify(flatbuffers::Verifier &verifier) const {
1179 return VerifyTableStart(verifier) &&
1180 VerifyOffset(verifier, VT_COLLECTION_NAME) &&
1181 verifier.VerifyString(collection_name()) &&
1182 VerifyOffset(verifier, VT_PATTERN) &&
1183 verifier.VerifyString(pattern()) &&
1184 VerifyField<int32_t>(verifier, VT_ENABLED_MODES, 4) &&
1185 VerifyField<float>(verifier, VT_TARGET_CLASSIFICATION_SCORE, 4) &&
1186 VerifyField<float>(verifier, VT_PRIORITY_SCORE, 4) &&
1187 VerifyField<uint8_t>(verifier, VT_USE_APPROXIMATE_MATCHING, 1) &&
1188 VerifyOffset(verifier, VT_COMPRESSED_PATTERN) &&
1189 verifier.VerifyTable(compressed_pattern()) &&
1190 VerifyOffset(verifier, VT_VERIFICATION_OPTIONS) &&
1191 verifier.VerifyTable(verification_options()) &&
1192 VerifyOffset(verifier, VT_CAPTURING_GROUP) &&
1193 verifier.VerifyVector(capturing_group()) &&
1194 verifier.VerifyVectorOfTables(capturing_group()) &&
1195 VerifyOffset(verifier, VT_SERIALIZED_ENTITY_DATA) &&
1196 verifier.VerifyString(serialized_entity_data()) &&
1197 VerifyOffset(verifier, VT_ENTITY_DATA) &&
1198 verifier.VerifyTable(entity_data()) &&
1199 verifier.EndTable();
1200 }
1201 PatternT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1202 void UnPackTo(PatternT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1203 static flatbuffers::Offset<Pattern> Pack(flatbuffers::FlatBufferBuilder &_fbb, const PatternT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1204 };
1205
1206 struct PatternBuilder {
1207 typedef Pattern Table;
1208 flatbuffers::FlatBufferBuilder &fbb_;
1209 flatbuffers::uoffset_t start_;
add_collection_namePatternBuilder1210 void add_collection_name(flatbuffers::Offset<flatbuffers::String> collection_name) {
1211 fbb_.AddOffset(Pattern::VT_COLLECTION_NAME, collection_name);
1212 }
add_patternPatternBuilder1213 void add_pattern(flatbuffers::Offset<flatbuffers::String> pattern) {
1214 fbb_.AddOffset(Pattern::VT_PATTERN, pattern);
1215 }
add_enabled_modesPatternBuilder1216 void add_enabled_modes(libtextclassifier3::ModeFlag enabled_modes) {
1217 fbb_.AddElement<int32_t>(Pattern::VT_ENABLED_MODES, static_cast<int32_t>(enabled_modes), 7);
1218 }
add_target_classification_scorePatternBuilder1219 void add_target_classification_score(float target_classification_score) {
1220 fbb_.AddElement<float>(Pattern::VT_TARGET_CLASSIFICATION_SCORE, target_classification_score, 1.0f);
1221 }
add_priority_scorePatternBuilder1222 void add_priority_score(float priority_score) {
1223 fbb_.AddElement<float>(Pattern::VT_PRIORITY_SCORE, priority_score, 0.0f);
1224 }
add_use_approximate_matchingPatternBuilder1225 void add_use_approximate_matching(bool use_approximate_matching) {
1226 fbb_.AddElement<uint8_t>(Pattern::VT_USE_APPROXIMATE_MATCHING, static_cast<uint8_t>(use_approximate_matching), 0);
1227 }
add_compressed_patternPatternBuilder1228 void add_compressed_pattern(flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern) {
1229 fbb_.AddOffset(Pattern::VT_COMPRESSED_PATTERN, compressed_pattern);
1230 }
add_verification_optionsPatternBuilder1231 void add_verification_options(flatbuffers::Offset<libtextclassifier3::VerificationOptions> verification_options) {
1232 fbb_.AddOffset(Pattern::VT_VERIFICATION_OPTIONS, verification_options);
1233 }
add_capturing_groupPatternBuilder1234 void add_capturing_group(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>> capturing_group) {
1235 fbb_.AddOffset(Pattern::VT_CAPTURING_GROUP, capturing_group);
1236 }
add_serialized_entity_dataPatternBuilder1237 void add_serialized_entity_data(flatbuffers::Offset<flatbuffers::String> serialized_entity_data) {
1238 fbb_.AddOffset(Pattern::VT_SERIALIZED_ENTITY_DATA, serialized_entity_data);
1239 }
add_entity_dataPatternBuilder1240 void add_entity_data(flatbuffers::Offset<libtextclassifier3::EntityData> entity_data) {
1241 fbb_.AddOffset(Pattern::VT_ENTITY_DATA, entity_data);
1242 }
PatternBuilderPatternBuilder1243 explicit PatternBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1244 : fbb_(_fbb) {
1245 start_ = fbb_.StartTable();
1246 }
FinishPatternBuilder1247 flatbuffers::Offset<Pattern> Finish() {
1248 const auto end = fbb_.EndTable(start_);
1249 auto o = flatbuffers::Offset<Pattern>(end);
1250 return o;
1251 }
1252 };
1253
1254 inline flatbuffers::Offset<Pattern> CreatePattern(
1255 flatbuffers::FlatBufferBuilder &_fbb,
1256 flatbuffers::Offset<flatbuffers::String> collection_name = 0,
1257 flatbuffers::Offset<flatbuffers::String> pattern = 0,
1258 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
1259 float target_classification_score = 1.0f,
1260 float priority_score = 0.0f,
1261 bool use_approximate_matching = false,
1262 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0,
1263 flatbuffers::Offset<libtextclassifier3::VerificationOptions> verification_options = 0,
1264 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>> capturing_group = 0,
1265 flatbuffers::Offset<flatbuffers::String> serialized_entity_data = 0,
1266 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
1267 PatternBuilder builder_(_fbb);
1268 builder_.add_entity_data(entity_data);
1269 builder_.add_serialized_entity_data(serialized_entity_data);
1270 builder_.add_capturing_group(capturing_group);
1271 builder_.add_verification_options(verification_options);
1272 builder_.add_compressed_pattern(compressed_pattern);
1273 builder_.add_priority_score(priority_score);
1274 builder_.add_target_classification_score(target_classification_score);
1275 builder_.add_enabled_modes(enabled_modes);
1276 builder_.add_pattern(pattern);
1277 builder_.add_collection_name(collection_name);
1278 builder_.add_use_approximate_matching(use_approximate_matching);
1279 return builder_.Finish();
1280 }
1281
1282 inline flatbuffers::Offset<Pattern> CreatePatternDirect(
1283 flatbuffers::FlatBufferBuilder &_fbb,
1284 const char *collection_name = nullptr,
1285 const char *pattern = nullptr,
1286 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
1287 float target_classification_score = 1.0f,
1288 float priority_score = 0.0f,
1289 bool use_approximate_matching = false,
1290 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0,
1291 flatbuffers::Offset<libtextclassifier3::VerificationOptions> verification_options = 0,
1292 const std::vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *capturing_group = nullptr,
1293 const char *serialized_entity_data = nullptr,
1294 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
1295 auto collection_name__ = collection_name ? _fbb.CreateSharedString(collection_name) : 0;
1296 auto pattern__ = pattern ? _fbb.CreateSharedString(pattern) : 0;
1297 auto capturing_group__ = capturing_group ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>(*capturing_group) : 0;
1298 auto serialized_entity_data__ = serialized_entity_data ? _fbb.CreateSharedString(serialized_entity_data) : 0;
1299 return libtextclassifier3::RegexModel_::CreatePattern(
1300 _fbb,
1301 collection_name__,
1302 pattern__,
1303 enabled_modes,
1304 target_classification_score,
1305 priority_score,
1306 use_approximate_matching,
1307 compressed_pattern,
1308 verification_options,
1309 capturing_group__,
1310 serialized_entity_data__,
1311 entity_data);
1312 }
1313
1314 flatbuffers::Offset<Pattern> CreatePattern(flatbuffers::FlatBufferBuilder &_fbb, const PatternT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1315
1316 } // namespace RegexModel_
1317
1318 struct RegexModelT : public flatbuffers::NativeTable {
1319 typedef RegexModel TableType;
1320 std::vector<std::unique_ptr<libtextclassifier3::RegexModel_::PatternT>> patterns{};
1321 bool lazy_regex_compilation = true;
1322 std::vector<std::string> lua_verifier{};
1323 RegexModelT() = default;
1324 RegexModelT(const RegexModelT &o);
1325 RegexModelT(RegexModelT&&) FLATBUFFERS_NOEXCEPT = default;
1326 RegexModelT &operator=(RegexModelT o) FLATBUFFERS_NOEXCEPT;
1327 };
1328
1329 struct RegexModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1330 typedef RegexModelT NativeTableType;
1331 typedef RegexModelBuilder Builder;
1332 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1333 VT_PATTERNS = 4,
1334 VT_LAZY_REGEX_COMPILATION = 6,
1335 VT_LUA_VERIFIER = 8
1336 };
patternsFLATBUFFERS_FINAL_CLASS1337 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>> *patterns() const {
1338 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>> *>(VT_PATTERNS);
1339 }
lazy_regex_compilationFLATBUFFERS_FINAL_CLASS1340 bool lazy_regex_compilation() const {
1341 return GetField<uint8_t>(VT_LAZY_REGEX_COMPILATION, 1) != 0;
1342 }
lua_verifierFLATBUFFERS_FINAL_CLASS1343 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *lua_verifier() const {
1344 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_LUA_VERIFIER);
1345 }
VerifyFLATBUFFERS_FINAL_CLASS1346 bool Verify(flatbuffers::Verifier &verifier) const {
1347 return VerifyTableStart(verifier) &&
1348 VerifyOffset(verifier, VT_PATTERNS) &&
1349 verifier.VerifyVector(patterns()) &&
1350 verifier.VerifyVectorOfTables(patterns()) &&
1351 VerifyField<uint8_t>(verifier, VT_LAZY_REGEX_COMPILATION, 1) &&
1352 VerifyOffset(verifier, VT_LUA_VERIFIER) &&
1353 verifier.VerifyVector(lua_verifier()) &&
1354 verifier.VerifyVectorOfStrings(lua_verifier()) &&
1355 verifier.EndTable();
1356 }
1357 RegexModelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1358 void UnPackTo(RegexModelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1359 static flatbuffers::Offset<RegexModel> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegexModelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1360 };
1361
1362 struct RegexModelBuilder {
1363 typedef RegexModel Table;
1364 flatbuffers::FlatBufferBuilder &fbb_;
1365 flatbuffers::uoffset_t start_;
add_patternsRegexModelBuilder1366 void add_patterns(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>>> patterns) {
1367 fbb_.AddOffset(RegexModel::VT_PATTERNS, patterns);
1368 }
add_lazy_regex_compilationRegexModelBuilder1369 void add_lazy_regex_compilation(bool lazy_regex_compilation) {
1370 fbb_.AddElement<uint8_t>(RegexModel::VT_LAZY_REGEX_COMPILATION, static_cast<uint8_t>(lazy_regex_compilation), 1);
1371 }
add_lua_verifierRegexModelBuilder1372 void add_lua_verifier(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> lua_verifier) {
1373 fbb_.AddOffset(RegexModel::VT_LUA_VERIFIER, lua_verifier);
1374 }
RegexModelBuilderRegexModelBuilder1375 explicit RegexModelBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1376 : fbb_(_fbb) {
1377 start_ = fbb_.StartTable();
1378 }
FinishRegexModelBuilder1379 flatbuffers::Offset<RegexModel> Finish() {
1380 const auto end = fbb_.EndTable(start_);
1381 auto o = flatbuffers::Offset<RegexModel>(end);
1382 return o;
1383 }
1384 };
1385
1386 inline flatbuffers::Offset<RegexModel> CreateRegexModel(
1387 flatbuffers::FlatBufferBuilder &_fbb,
1388 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>>> patterns = 0,
1389 bool lazy_regex_compilation = true,
1390 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> lua_verifier = 0) {
1391 RegexModelBuilder builder_(_fbb);
1392 builder_.add_lua_verifier(lua_verifier);
1393 builder_.add_patterns(patterns);
1394 builder_.add_lazy_regex_compilation(lazy_regex_compilation);
1395 return builder_.Finish();
1396 }
1397
1398 inline flatbuffers::Offset<RegexModel> CreateRegexModelDirect(
1399 flatbuffers::FlatBufferBuilder &_fbb,
1400 const std::vector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>> *patterns = nullptr,
1401 bool lazy_regex_compilation = true,
1402 const std::vector<flatbuffers::Offset<flatbuffers::String>> *lua_verifier = nullptr) {
1403 auto patterns__ = patterns ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::RegexModel_::Pattern>>(*patterns) : 0;
1404 auto lua_verifier__ = lua_verifier ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*lua_verifier) : 0;
1405 return libtextclassifier3::CreateRegexModel(
1406 _fbb,
1407 patterns__,
1408 lazy_regex_compilation,
1409 lua_verifier__);
1410 }
1411
1412 flatbuffers::Offset<RegexModel> CreateRegexModel(flatbuffers::FlatBufferBuilder &_fbb, const RegexModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1413
1414 namespace DatetimeModelPattern_ {
1415
1416 struct RegexT : public flatbuffers::NativeTable {
1417 typedef Regex TableType;
1418 std::string pattern{};
1419 std::vector<libtextclassifier3::DatetimeGroupType> groups{};
1420 std::unique_ptr<libtextclassifier3::CompressedBufferT> compressed_pattern{};
1421 RegexT() = default;
1422 RegexT(const RegexT &o);
1423 RegexT(RegexT&&) FLATBUFFERS_NOEXCEPT = default;
1424 RegexT &operator=(RegexT o) FLATBUFFERS_NOEXCEPT;
1425 };
1426
1427 struct Regex FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1428 typedef RegexT NativeTableType;
1429 typedef RegexBuilder Builder;
1430 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1431 VT_PATTERN = 4,
1432 VT_GROUPS = 6,
1433 VT_COMPRESSED_PATTERN = 8
1434 };
patternFLATBUFFERS_FINAL_CLASS1435 const flatbuffers::String *pattern() const {
1436 return GetPointer<const flatbuffers::String *>(VT_PATTERN);
1437 }
groupsFLATBUFFERS_FINAL_CLASS1438 const flatbuffers::Vector<int32_t> *groups() const {
1439 return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_GROUPS);
1440 }
compressed_patternFLATBUFFERS_FINAL_CLASS1441 const libtextclassifier3::CompressedBuffer *compressed_pattern() const {
1442 return GetPointer<const libtextclassifier3::CompressedBuffer *>(VT_COMPRESSED_PATTERN);
1443 }
VerifyFLATBUFFERS_FINAL_CLASS1444 bool Verify(flatbuffers::Verifier &verifier) const {
1445 return VerifyTableStart(verifier) &&
1446 VerifyOffset(verifier, VT_PATTERN) &&
1447 verifier.VerifyString(pattern()) &&
1448 VerifyOffset(verifier, VT_GROUPS) &&
1449 verifier.VerifyVector(groups()) &&
1450 VerifyOffset(verifier, VT_COMPRESSED_PATTERN) &&
1451 verifier.VerifyTable(compressed_pattern()) &&
1452 verifier.EndTable();
1453 }
1454 RegexT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1455 void UnPackTo(RegexT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1456 static flatbuffers::Offset<Regex> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RegexT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1457 };
1458
1459 struct RegexBuilder {
1460 typedef Regex Table;
1461 flatbuffers::FlatBufferBuilder &fbb_;
1462 flatbuffers::uoffset_t start_;
add_patternRegexBuilder1463 void add_pattern(flatbuffers::Offset<flatbuffers::String> pattern) {
1464 fbb_.AddOffset(Regex::VT_PATTERN, pattern);
1465 }
add_groupsRegexBuilder1466 void add_groups(flatbuffers::Offset<flatbuffers::Vector<int32_t>> groups) {
1467 fbb_.AddOffset(Regex::VT_GROUPS, groups);
1468 }
add_compressed_patternRegexBuilder1469 void add_compressed_pattern(flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern) {
1470 fbb_.AddOffset(Regex::VT_COMPRESSED_PATTERN, compressed_pattern);
1471 }
RegexBuilderRegexBuilder1472 explicit RegexBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1473 : fbb_(_fbb) {
1474 start_ = fbb_.StartTable();
1475 }
FinishRegexBuilder1476 flatbuffers::Offset<Regex> Finish() {
1477 const auto end = fbb_.EndTable(start_);
1478 auto o = flatbuffers::Offset<Regex>(end);
1479 return o;
1480 }
1481 };
1482
1483 inline flatbuffers::Offset<Regex> CreateRegex(
1484 flatbuffers::FlatBufferBuilder &_fbb,
1485 flatbuffers::Offset<flatbuffers::String> pattern = 0,
1486 flatbuffers::Offset<flatbuffers::Vector<int32_t>> groups = 0,
1487 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0) {
1488 RegexBuilder builder_(_fbb);
1489 builder_.add_compressed_pattern(compressed_pattern);
1490 builder_.add_groups(groups);
1491 builder_.add_pattern(pattern);
1492 return builder_.Finish();
1493 }
1494
1495 inline flatbuffers::Offset<Regex> CreateRegexDirect(
1496 flatbuffers::FlatBufferBuilder &_fbb,
1497 const char *pattern = nullptr,
1498 const std::vector<int32_t> *groups = nullptr,
1499 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0) {
1500 auto pattern__ = pattern ? _fbb.CreateSharedString(pattern) : 0;
1501 auto groups__ = groups ? _fbb.CreateVector<int32_t>(*groups) : 0;
1502 return libtextclassifier3::DatetimeModelPattern_::CreateRegex(
1503 _fbb,
1504 pattern__,
1505 groups__,
1506 compressed_pattern);
1507 }
1508
1509 flatbuffers::Offset<Regex> CreateRegex(flatbuffers::FlatBufferBuilder &_fbb, const RegexT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1510
1511 } // namespace DatetimeModelPattern_
1512
1513 struct DatetimeModelPatternT : public flatbuffers::NativeTable {
1514 typedef DatetimeModelPattern TableType;
1515 std::vector<std::unique_ptr<libtextclassifier3::DatetimeModelPattern_::RegexT>> regexes{};
1516 std::vector<int32_t> locales{};
1517 float target_classification_score = 1.0f;
1518 float priority_score = 0.0f;
1519 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
1520 uint32_t enabled_annotation_usecases = 4294967295;
1521 DatetimeModelPatternT() = default;
1522 DatetimeModelPatternT(const DatetimeModelPatternT &o);
1523 DatetimeModelPatternT(DatetimeModelPatternT&&) FLATBUFFERS_NOEXCEPT = default;
1524 DatetimeModelPatternT &operator=(DatetimeModelPatternT o) FLATBUFFERS_NOEXCEPT;
1525 };
1526
1527 struct DatetimeModelPattern FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1528 typedef DatetimeModelPatternT NativeTableType;
1529 typedef DatetimeModelPatternBuilder Builder;
1530 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1531 VT_REGEXES = 4,
1532 VT_LOCALES = 6,
1533 VT_TARGET_CLASSIFICATION_SCORE = 8,
1534 VT_PRIORITY_SCORE = 10,
1535 VT_ENABLED_MODES = 12,
1536 VT_ENABLED_ANNOTATION_USECASES = 14
1537 };
regexesFLATBUFFERS_FINAL_CLASS1538 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>> *regexes() const {
1539 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>> *>(VT_REGEXES);
1540 }
localesFLATBUFFERS_FINAL_CLASS1541 const flatbuffers::Vector<int32_t> *locales() const {
1542 return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_LOCALES);
1543 }
target_classification_scoreFLATBUFFERS_FINAL_CLASS1544 float target_classification_score() const {
1545 return GetField<float>(VT_TARGET_CLASSIFICATION_SCORE, 1.0f);
1546 }
priority_scoreFLATBUFFERS_FINAL_CLASS1547 float priority_score() const {
1548 return GetField<float>(VT_PRIORITY_SCORE, 0.0f);
1549 }
enabled_modesFLATBUFFERS_FINAL_CLASS1550 libtextclassifier3::ModeFlag enabled_modes() const {
1551 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
1552 }
enabled_annotation_usecasesFLATBUFFERS_FINAL_CLASS1553 uint32_t enabled_annotation_usecases() const {
1554 return GetField<uint32_t>(VT_ENABLED_ANNOTATION_USECASES, 4294967295);
1555 }
VerifyFLATBUFFERS_FINAL_CLASS1556 bool Verify(flatbuffers::Verifier &verifier) const {
1557 return VerifyTableStart(verifier) &&
1558 VerifyOffset(verifier, VT_REGEXES) &&
1559 verifier.VerifyVector(regexes()) &&
1560 verifier.VerifyVectorOfTables(regexes()) &&
1561 VerifyOffset(verifier, VT_LOCALES) &&
1562 verifier.VerifyVector(locales()) &&
1563 VerifyField<float>(verifier, VT_TARGET_CLASSIFICATION_SCORE, 4) &&
1564 VerifyField<float>(verifier, VT_PRIORITY_SCORE, 4) &&
1565 VerifyField<int32_t>(verifier, VT_ENABLED_MODES, 4) &&
1566 VerifyField<uint32_t>(verifier, VT_ENABLED_ANNOTATION_USECASES, 4) &&
1567 verifier.EndTable();
1568 }
1569 DatetimeModelPatternT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1570 void UnPackTo(DatetimeModelPatternT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1571 static flatbuffers::Offset<DatetimeModelPattern> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelPatternT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1572 };
1573
1574 struct DatetimeModelPatternBuilder {
1575 typedef DatetimeModelPattern Table;
1576 flatbuffers::FlatBufferBuilder &fbb_;
1577 flatbuffers::uoffset_t start_;
add_regexesDatetimeModelPatternBuilder1578 void add_regexes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>>> regexes) {
1579 fbb_.AddOffset(DatetimeModelPattern::VT_REGEXES, regexes);
1580 }
add_localesDatetimeModelPatternBuilder1581 void add_locales(flatbuffers::Offset<flatbuffers::Vector<int32_t>> locales) {
1582 fbb_.AddOffset(DatetimeModelPattern::VT_LOCALES, locales);
1583 }
add_target_classification_scoreDatetimeModelPatternBuilder1584 void add_target_classification_score(float target_classification_score) {
1585 fbb_.AddElement<float>(DatetimeModelPattern::VT_TARGET_CLASSIFICATION_SCORE, target_classification_score, 1.0f);
1586 }
add_priority_scoreDatetimeModelPatternBuilder1587 void add_priority_score(float priority_score) {
1588 fbb_.AddElement<float>(DatetimeModelPattern::VT_PRIORITY_SCORE, priority_score, 0.0f);
1589 }
add_enabled_modesDatetimeModelPatternBuilder1590 void add_enabled_modes(libtextclassifier3::ModeFlag enabled_modes) {
1591 fbb_.AddElement<int32_t>(DatetimeModelPattern::VT_ENABLED_MODES, static_cast<int32_t>(enabled_modes), 7);
1592 }
add_enabled_annotation_usecasesDatetimeModelPatternBuilder1593 void add_enabled_annotation_usecases(uint32_t enabled_annotation_usecases) {
1594 fbb_.AddElement<uint32_t>(DatetimeModelPattern::VT_ENABLED_ANNOTATION_USECASES, enabled_annotation_usecases, 4294967295);
1595 }
DatetimeModelPatternBuilderDatetimeModelPatternBuilder1596 explicit DatetimeModelPatternBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1597 : fbb_(_fbb) {
1598 start_ = fbb_.StartTable();
1599 }
FinishDatetimeModelPatternBuilder1600 flatbuffers::Offset<DatetimeModelPattern> Finish() {
1601 const auto end = fbb_.EndTable(start_);
1602 auto o = flatbuffers::Offset<DatetimeModelPattern>(end);
1603 return o;
1604 }
1605 };
1606
1607 inline flatbuffers::Offset<DatetimeModelPattern> CreateDatetimeModelPattern(
1608 flatbuffers::FlatBufferBuilder &_fbb,
1609 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>>> regexes = 0,
1610 flatbuffers::Offset<flatbuffers::Vector<int32_t>> locales = 0,
1611 float target_classification_score = 1.0f,
1612 float priority_score = 0.0f,
1613 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
1614 uint32_t enabled_annotation_usecases = 4294967295) {
1615 DatetimeModelPatternBuilder builder_(_fbb);
1616 builder_.add_enabled_annotation_usecases(enabled_annotation_usecases);
1617 builder_.add_enabled_modes(enabled_modes);
1618 builder_.add_priority_score(priority_score);
1619 builder_.add_target_classification_score(target_classification_score);
1620 builder_.add_locales(locales);
1621 builder_.add_regexes(regexes);
1622 return builder_.Finish();
1623 }
1624
1625 inline flatbuffers::Offset<DatetimeModelPattern> CreateDatetimeModelPatternDirect(
1626 flatbuffers::FlatBufferBuilder &_fbb,
1627 const std::vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>> *regexes = nullptr,
1628 const std::vector<int32_t> *locales = nullptr,
1629 float target_classification_score = 1.0f,
1630 float priority_score = 0.0f,
1631 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
1632 uint32_t enabled_annotation_usecases = 4294967295) {
1633 auto regexes__ = regexes ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern_::Regex>>(*regexes) : 0;
1634 auto locales__ = locales ? _fbb.CreateVector<int32_t>(*locales) : 0;
1635 return libtextclassifier3::CreateDatetimeModelPattern(
1636 _fbb,
1637 regexes__,
1638 locales__,
1639 target_classification_score,
1640 priority_score,
1641 enabled_modes,
1642 enabled_annotation_usecases);
1643 }
1644
1645 flatbuffers::Offset<DatetimeModelPattern> CreateDatetimeModelPattern(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelPatternT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1646
1647 struct DatetimeModelExtractorT : public flatbuffers::NativeTable {
1648 typedef DatetimeModelExtractor TableType;
1649 libtextclassifier3::DatetimeExtractorType extractor = libtextclassifier3::DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE;
1650 std::string pattern{};
1651 std::vector<int32_t> locales{};
1652 std::unique_ptr<libtextclassifier3::CompressedBufferT> compressed_pattern{};
1653 DatetimeModelExtractorT() = default;
1654 DatetimeModelExtractorT(const DatetimeModelExtractorT &o);
1655 DatetimeModelExtractorT(DatetimeModelExtractorT&&) FLATBUFFERS_NOEXCEPT = default;
1656 DatetimeModelExtractorT &operator=(DatetimeModelExtractorT o) FLATBUFFERS_NOEXCEPT;
1657 };
1658
1659 struct DatetimeModelExtractor FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1660 typedef DatetimeModelExtractorT NativeTableType;
1661 typedef DatetimeModelExtractorBuilder Builder;
1662 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1663 VT_EXTRACTOR = 4,
1664 VT_PATTERN = 6,
1665 VT_LOCALES = 8,
1666 VT_COMPRESSED_PATTERN = 10
1667 };
extractorFLATBUFFERS_FINAL_CLASS1668 libtextclassifier3::DatetimeExtractorType extractor() const {
1669 return static_cast<libtextclassifier3::DatetimeExtractorType>(GetField<int32_t>(VT_EXTRACTOR, 0));
1670 }
patternFLATBUFFERS_FINAL_CLASS1671 const flatbuffers::String *pattern() const {
1672 return GetPointer<const flatbuffers::String *>(VT_PATTERN);
1673 }
localesFLATBUFFERS_FINAL_CLASS1674 const flatbuffers::Vector<int32_t> *locales() const {
1675 return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_LOCALES);
1676 }
compressed_patternFLATBUFFERS_FINAL_CLASS1677 const libtextclassifier3::CompressedBuffer *compressed_pattern() const {
1678 return GetPointer<const libtextclassifier3::CompressedBuffer *>(VT_COMPRESSED_PATTERN);
1679 }
VerifyFLATBUFFERS_FINAL_CLASS1680 bool Verify(flatbuffers::Verifier &verifier) const {
1681 return VerifyTableStart(verifier) &&
1682 VerifyField<int32_t>(verifier, VT_EXTRACTOR, 4) &&
1683 VerifyOffset(verifier, VT_PATTERN) &&
1684 verifier.VerifyString(pattern()) &&
1685 VerifyOffset(verifier, VT_LOCALES) &&
1686 verifier.VerifyVector(locales()) &&
1687 VerifyOffset(verifier, VT_COMPRESSED_PATTERN) &&
1688 verifier.VerifyTable(compressed_pattern()) &&
1689 verifier.EndTable();
1690 }
1691 DatetimeModelExtractorT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1692 void UnPackTo(DatetimeModelExtractorT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1693 static flatbuffers::Offset<DatetimeModelExtractor> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelExtractorT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1694 };
1695
1696 struct DatetimeModelExtractorBuilder {
1697 typedef DatetimeModelExtractor Table;
1698 flatbuffers::FlatBufferBuilder &fbb_;
1699 flatbuffers::uoffset_t start_;
add_extractorDatetimeModelExtractorBuilder1700 void add_extractor(libtextclassifier3::DatetimeExtractorType extractor) {
1701 fbb_.AddElement<int32_t>(DatetimeModelExtractor::VT_EXTRACTOR, static_cast<int32_t>(extractor), 0);
1702 }
add_patternDatetimeModelExtractorBuilder1703 void add_pattern(flatbuffers::Offset<flatbuffers::String> pattern) {
1704 fbb_.AddOffset(DatetimeModelExtractor::VT_PATTERN, pattern);
1705 }
add_localesDatetimeModelExtractorBuilder1706 void add_locales(flatbuffers::Offset<flatbuffers::Vector<int32_t>> locales) {
1707 fbb_.AddOffset(DatetimeModelExtractor::VT_LOCALES, locales);
1708 }
add_compressed_patternDatetimeModelExtractorBuilder1709 void add_compressed_pattern(flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern) {
1710 fbb_.AddOffset(DatetimeModelExtractor::VT_COMPRESSED_PATTERN, compressed_pattern);
1711 }
DatetimeModelExtractorBuilderDatetimeModelExtractorBuilder1712 explicit DatetimeModelExtractorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1713 : fbb_(_fbb) {
1714 start_ = fbb_.StartTable();
1715 }
FinishDatetimeModelExtractorBuilder1716 flatbuffers::Offset<DatetimeModelExtractor> Finish() {
1717 const auto end = fbb_.EndTable(start_);
1718 auto o = flatbuffers::Offset<DatetimeModelExtractor>(end);
1719 return o;
1720 }
1721 };
1722
1723 inline flatbuffers::Offset<DatetimeModelExtractor> CreateDatetimeModelExtractor(
1724 flatbuffers::FlatBufferBuilder &_fbb,
1725 libtextclassifier3::DatetimeExtractorType extractor = libtextclassifier3::DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE,
1726 flatbuffers::Offset<flatbuffers::String> pattern = 0,
1727 flatbuffers::Offset<flatbuffers::Vector<int32_t>> locales = 0,
1728 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0) {
1729 DatetimeModelExtractorBuilder builder_(_fbb);
1730 builder_.add_compressed_pattern(compressed_pattern);
1731 builder_.add_locales(locales);
1732 builder_.add_pattern(pattern);
1733 builder_.add_extractor(extractor);
1734 return builder_.Finish();
1735 }
1736
1737 inline flatbuffers::Offset<DatetimeModelExtractor> CreateDatetimeModelExtractorDirect(
1738 flatbuffers::FlatBufferBuilder &_fbb,
1739 libtextclassifier3::DatetimeExtractorType extractor = libtextclassifier3::DatetimeExtractorType_UNKNOWN_DATETIME_EXTRACTOR_TYPE,
1740 const char *pattern = nullptr,
1741 const std::vector<int32_t> *locales = nullptr,
1742 flatbuffers::Offset<libtextclassifier3::CompressedBuffer> compressed_pattern = 0) {
1743 auto pattern__ = pattern ? _fbb.CreateSharedString(pattern) : 0;
1744 auto locales__ = locales ? _fbb.CreateVector<int32_t>(*locales) : 0;
1745 return libtextclassifier3::CreateDatetimeModelExtractor(
1746 _fbb,
1747 extractor,
1748 pattern__,
1749 locales__,
1750 compressed_pattern);
1751 }
1752
1753 flatbuffers::Offset<DatetimeModelExtractor> CreateDatetimeModelExtractor(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelExtractorT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1754
1755 struct DatetimeModelT : public flatbuffers::NativeTable {
1756 typedef DatetimeModel TableType;
1757 std::vector<std::string> locales{};
1758 std::vector<std::unique_ptr<libtextclassifier3::DatetimeModelPatternT>> patterns{};
1759 std::vector<std::unique_ptr<libtextclassifier3::DatetimeModelExtractorT>> extractors{};
1760 bool use_extractors_for_locating = true;
1761 std::vector<int32_t> default_locales{};
1762 bool generate_alternative_interpretations_when_ambiguous = false;
1763 bool lazy_regex_compilation = true;
1764 bool prefer_future_for_unspecified_date = false;
1765 DatetimeModelT() = default;
1766 DatetimeModelT(const DatetimeModelT &o);
1767 DatetimeModelT(DatetimeModelT&&) FLATBUFFERS_NOEXCEPT = default;
1768 DatetimeModelT &operator=(DatetimeModelT o) FLATBUFFERS_NOEXCEPT;
1769 };
1770
1771 struct DatetimeModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1772 typedef DatetimeModelT NativeTableType;
1773 typedef DatetimeModelBuilder Builder;
1774 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1775 VT_LOCALES = 4,
1776 VT_PATTERNS = 6,
1777 VT_EXTRACTORS = 8,
1778 VT_USE_EXTRACTORS_FOR_LOCATING = 10,
1779 VT_DEFAULT_LOCALES = 12,
1780 VT_GENERATE_ALTERNATIVE_INTERPRETATIONS_WHEN_AMBIGUOUS = 14,
1781 VT_LAZY_REGEX_COMPILATION = 16,
1782 VT_PREFER_FUTURE_FOR_UNSPECIFIED_DATE = 18
1783 };
localesFLATBUFFERS_FINAL_CLASS1784 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *locales() const {
1785 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_LOCALES);
1786 }
patternsFLATBUFFERS_FINAL_CLASS1787 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>> *patterns() const {
1788 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>> *>(VT_PATTERNS);
1789 }
extractorsFLATBUFFERS_FINAL_CLASS1790 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>> *extractors() const {
1791 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>> *>(VT_EXTRACTORS);
1792 }
use_extractors_for_locatingFLATBUFFERS_FINAL_CLASS1793 bool use_extractors_for_locating() const {
1794 return GetField<uint8_t>(VT_USE_EXTRACTORS_FOR_LOCATING, 1) != 0;
1795 }
default_localesFLATBUFFERS_FINAL_CLASS1796 const flatbuffers::Vector<int32_t> *default_locales() const {
1797 return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_DEFAULT_LOCALES);
1798 }
generate_alternative_interpretations_when_ambiguousFLATBUFFERS_FINAL_CLASS1799 bool generate_alternative_interpretations_when_ambiguous() const {
1800 return GetField<uint8_t>(VT_GENERATE_ALTERNATIVE_INTERPRETATIONS_WHEN_AMBIGUOUS, 0) != 0;
1801 }
lazy_regex_compilationFLATBUFFERS_FINAL_CLASS1802 bool lazy_regex_compilation() const {
1803 return GetField<uint8_t>(VT_LAZY_REGEX_COMPILATION, 1) != 0;
1804 }
prefer_future_for_unspecified_dateFLATBUFFERS_FINAL_CLASS1805 bool prefer_future_for_unspecified_date() const {
1806 return GetField<uint8_t>(VT_PREFER_FUTURE_FOR_UNSPECIFIED_DATE, 0) != 0;
1807 }
VerifyFLATBUFFERS_FINAL_CLASS1808 bool Verify(flatbuffers::Verifier &verifier) const {
1809 return VerifyTableStart(verifier) &&
1810 VerifyOffset(verifier, VT_LOCALES) &&
1811 verifier.VerifyVector(locales()) &&
1812 verifier.VerifyVectorOfStrings(locales()) &&
1813 VerifyOffset(verifier, VT_PATTERNS) &&
1814 verifier.VerifyVector(patterns()) &&
1815 verifier.VerifyVectorOfTables(patterns()) &&
1816 VerifyOffset(verifier, VT_EXTRACTORS) &&
1817 verifier.VerifyVector(extractors()) &&
1818 verifier.VerifyVectorOfTables(extractors()) &&
1819 VerifyField<uint8_t>(verifier, VT_USE_EXTRACTORS_FOR_LOCATING, 1) &&
1820 VerifyOffset(verifier, VT_DEFAULT_LOCALES) &&
1821 verifier.VerifyVector(default_locales()) &&
1822 VerifyField<uint8_t>(verifier, VT_GENERATE_ALTERNATIVE_INTERPRETATIONS_WHEN_AMBIGUOUS, 1) &&
1823 VerifyField<uint8_t>(verifier, VT_LAZY_REGEX_COMPILATION, 1) &&
1824 VerifyField<uint8_t>(verifier, VT_PREFER_FUTURE_FOR_UNSPECIFIED_DATE, 1) &&
1825 verifier.EndTable();
1826 }
1827 DatetimeModelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1828 void UnPackTo(DatetimeModelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1829 static flatbuffers::Offset<DatetimeModel> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1830 };
1831
1832 struct DatetimeModelBuilder {
1833 typedef DatetimeModel Table;
1834 flatbuffers::FlatBufferBuilder &fbb_;
1835 flatbuffers::uoffset_t start_;
add_localesDatetimeModelBuilder1836 void add_locales(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> locales) {
1837 fbb_.AddOffset(DatetimeModel::VT_LOCALES, locales);
1838 }
add_patternsDatetimeModelBuilder1839 void add_patterns(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>>> patterns) {
1840 fbb_.AddOffset(DatetimeModel::VT_PATTERNS, patterns);
1841 }
add_extractorsDatetimeModelBuilder1842 void add_extractors(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>>> extractors) {
1843 fbb_.AddOffset(DatetimeModel::VT_EXTRACTORS, extractors);
1844 }
add_use_extractors_for_locatingDatetimeModelBuilder1845 void add_use_extractors_for_locating(bool use_extractors_for_locating) {
1846 fbb_.AddElement<uint8_t>(DatetimeModel::VT_USE_EXTRACTORS_FOR_LOCATING, static_cast<uint8_t>(use_extractors_for_locating), 1);
1847 }
add_default_localesDatetimeModelBuilder1848 void add_default_locales(flatbuffers::Offset<flatbuffers::Vector<int32_t>> default_locales) {
1849 fbb_.AddOffset(DatetimeModel::VT_DEFAULT_LOCALES, default_locales);
1850 }
add_generate_alternative_interpretations_when_ambiguousDatetimeModelBuilder1851 void add_generate_alternative_interpretations_when_ambiguous(bool generate_alternative_interpretations_when_ambiguous) {
1852 fbb_.AddElement<uint8_t>(DatetimeModel::VT_GENERATE_ALTERNATIVE_INTERPRETATIONS_WHEN_AMBIGUOUS, static_cast<uint8_t>(generate_alternative_interpretations_when_ambiguous), 0);
1853 }
add_lazy_regex_compilationDatetimeModelBuilder1854 void add_lazy_regex_compilation(bool lazy_regex_compilation) {
1855 fbb_.AddElement<uint8_t>(DatetimeModel::VT_LAZY_REGEX_COMPILATION, static_cast<uint8_t>(lazy_regex_compilation), 1);
1856 }
add_prefer_future_for_unspecified_dateDatetimeModelBuilder1857 void add_prefer_future_for_unspecified_date(bool prefer_future_for_unspecified_date) {
1858 fbb_.AddElement<uint8_t>(DatetimeModel::VT_PREFER_FUTURE_FOR_UNSPECIFIED_DATE, static_cast<uint8_t>(prefer_future_for_unspecified_date), 0);
1859 }
DatetimeModelBuilderDatetimeModelBuilder1860 explicit DatetimeModelBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1861 : fbb_(_fbb) {
1862 start_ = fbb_.StartTable();
1863 }
FinishDatetimeModelBuilder1864 flatbuffers::Offset<DatetimeModel> Finish() {
1865 const auto end = fbb_.EndTable(start_);
1866 auto o = flatbuffers::Offset<DatetimeModel>(end);
1867 return o;
1868 }
1869 };
1870
1871 inline flatbuffers::Offset<DatetimeModel> CreateDatetimeModel(
1872 flatbuffers::FlatBufferBuilder &_fbb,
1873 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> locales = 0,
1874 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>>> patterns = 0,
1875 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>>> extractors = 0,
1876 bool use_extractors_for_locating = true,
1877 flatbuffers::Offset<flatbuffers::Vector<int32_t>> default_locales = 0,
1878 bool generate_alternative_interpretations_when_ambiguous = false,
1879 bool lazy_regex_compilation = true,
1880 bool prefer_future_for_unspecified_date = false) {
1881 DatetimeModelBuilder builder_(_fbb);
1882 builder_.add_default_locales(default_locales);
1883 builder_.add_extractors(extractors);
1884 builder_.add_patterns(patterns);
1885 builder_.add_locales(locales);
1886 builder_.add_prefer_future_for_unspecified_date(prefer_future_for_unspecified_date);
1887 builder_.add_lazy_regex_compilation(lazy_regex_compilation);
1888 builder_.add_generate_alternative_interpretations_when_ambiguous(generate_alternative_interpretations_when_ambiguous);
1889 builder_.add_use_extractors_for_locating(use_extractors_for_locating);
1890 return builder_.Finish();
1891 }
1892
1893 inline flatbuffers::Offset<DatetimeModel> CreateDatetimeModelDirect(
1894 flatbuffers::FlatBufferBuilder &_fbb,
1895 const std::vector<flatbuffers::Offset<flatbuffers::String>> *locales = nullptr,
1896 const std::vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>> *patterns = nullptr,
1897 const std::vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>> *extractors = nullptr,
1898 bool use_extractors_for_locating = true,
1899 const std::vector<int32_t> *default_locales = nullptr,
1900 bool generate_alternative_interpretations_when_ambiguous = false,
1901 bool lazy_regex_compilation = true,
1902 bool prefer_future_for_unspecified_date = false) {
1903 auto locales__ = locales ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*locales) : 0;
1904 auto patterns__ = patterns ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::DatetimeModelPattern>>(*patterns) : 0;
1905 auto extractors__ = extractors ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::DatetimeModelExtractor>>(*extractors) : 0;
1906 auto default_locales__ = default_locales ? _fbb.CreateVector<int32_t>(*default_locales) : 0;
1907 return libtextclassifier3::CreateDatetimeModel(
1908 _fbb,
1909 locales__,
1910 patterns__,
1911 extractors__,
1912 use_extractors_for_locating,
1913 default_locales__,
1914 generate_alternative_interpretations_when_ambiguous,
1915 lazy_regex_compilation,
1916 prefer_future_for_unspecified_date);
1917 }
1918
1919 flatbuffers::Offset<DatetimeModel> CreateDatetimeModel(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1920
1921 struct GrammarTokenizerOptionsT : public flatbuffers::NativeTable {
1922 typedef GrammarTokenizerOptions TableType;
1923 libtextclassifier3::TokenizationType tokenization_type = libtextclassifier3::TokenizationType_ICU;
1924 bool icu_preserve_whitespace_tokens = false;
1925 std::vector<std::unique_ptr<libtextclassifier3::TokenizationCodepointRangeT>> tokenization_codepoint_config{};
1926 std::vector<std::unique_ptr<libtextclassifier3::CodepointRangeT>> internal_tokenizer_codepoint_ranges{};
1927 bool tokenize_on_script_change = false;
1928 GrammarTokenizerOptionsT() = default;
1929 GrammarTokenizerOptionsT(const GrammarTokenizerOptionsT &o);
1930 GrammarTokenizerOptionsT(GrammarTokenizerOptionsT&&) FLATBUFFERS_NOEXCEPT = default;
1931 GrammarTokenizerOptionsT &operator=(GrammarTokenizerOptionsT o) FLATBUFFERS_NOEXCEPT;
1932 };
1933
1934 struct GrammarTokenizerOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
1935 typedef GrammarTokenizerOptionsT NativeTableType;
1936 typedef GrammarTokenizerOptionsBuilder Builder;
1937 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
1938 VT_TOKENIZATION_TYPE = 4,
1939 VT_ICU_PRESERVE_WHITESPACE_TOKENS = 6,
1940 VT_TOKENIZATION_CODEPOINT_CONFIG = 8,
1941 VT_INTERNAL_TOKENIZER_CODEPOINT_RANGES = 10,
1942 VT_TOKENIZE_ON_SCRIPT_CHANGE = 12
1943 };
tokenization_typeFLATBUFFERS_FINAL_CLASS1944 libtextclassifier3::TokenizationType tokenization_type() const {
1945 return static_cast<libtextclassifier3::TokenizationType>(GetField<int32_t>(VT_TOKENIZATION_TYPE, 2));
1946 }
icu_preserve_whitespace_tokensFLATBUFFERS_FINAL_CLASS1947 bool icu_preserve_whitespace_tokens() const {
1948 return GetField<uint8_t>(VT_ICU_PRESERVE_WHITESPACE_TOKENS, 0) != 0;
1949 }
tokenization_codepoint_configFLATBUFFERS_FINAL_CLASS1950 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>> *tokenization_codepoint_config() const {
1951 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>> *>(VT_TOKENIZATION_CODEPOINT_CONFIG);
1952 }
internal_tokenizer_codepoint_rangesFLATBUFFERS_FINAL_CLASS1953 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CodepointRange>> *internal_tokenizer_codepoint_ranges() const {
1954 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CodepointRange>> *>(VT_INTERNAL_TOKENIZER_CODEPOINT_RANGES);
1955 }
tokenize_on_script_changeFLATBUFFERS_FINAL_CLASS1956 bool tokenize_on_script_change() const {
1957 return GetField<uint8_t>(VT_TOKENIZE_ON_SCRIPT_CHANGE, 0) != 0;
1958 }
VerifyFLATBUFFERS_FINAL_CLASS1959 bool Verify(flatbuffers::Verifier &verifier) const {
1960 return VerifyTableStart(verifier) &&
1961 VerifyField<int32_t>(verifier, VT_TOKENIZATION_TYPE, 4) &&
1962 VerifyField<uint8_t>(verifier, VT_ICU_PRESERVE_WHITESPACE_TOKENS, 1) &&
1963 VerifyOffset(verifier, VT_TOKENIZATION_CODEPOINT_CONFIG) &&
1964 verifier.VerifyVector(tokenization_codepoint_config()) &&
1965 verifier.VerifyVectorOfTables(tokenization_codepoint_config()) &&
1966 VerifyOffset(verifier, VT_INTERNAL_TOKENIZER_CODEPOINT_RANGES) &&
1967 verifier.VerifyVector(internal_tokenizer_codepoint_ranges()) &&
1968 verifier.VerifyVectorOfTables(internal_tokenizer_codepoint_ranges()) &&
1969 VerifyField<uint8_t>(verifier, VT_TOKENIZE_ON_SCRIPT_CHANGE, 1) &&
1970 verifier.EndTable();
1971 }
1972 GrammarTokenizerOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1973 void UnPackTo(GrammarTokenizerOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
1974 static flatbuffers::Offset<GrammarTokenizerOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const GrammarTokenizerOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
1975 };
1976
1977 struct GrammarTokenizerOptionsBuilder {
1978 typedef GrammarTokenizerOptions Table;
1979 flatbuffers::FlatBufferBuilder &fbb_;
1980 flatbuffers::uoffset_t start_;
add_tokenization_typeGrammarTokenizerOptionsBuilder1981 void add_tokenization_type(libtextclassifier3::TokenizationType tokenization_type) {
1982 fbb_.AddElement<int32_t>(GrammarTokenizerOptions::VT_TOKENIZATION_TYPE, static_cast<int32_t>(tokenization_type), 2);
1983 }
add_icu_preserve_whitespace_tokensGrammarTokenizerOptionsBuilder1984 void add_icu_preserve_whitespace_tokens(bool icu_preserve_whitespace_tokens) {
1985 fbb_.AddElement<uint8_t>(GrammarTokenizerOptions::VT_ICU_PRESERVE_WHITESPACE_TOKENS, static_cast<uint8_t>(icu_preserve_whitespace_tokens), 0);
1986 }
add_tokenization_codepoint_configGrammarTokenizerOptionsBuilder1987 void add_tokenization_codepoint_config(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>>> tokenization_codepoint_config) {
1988 fbb_.AddOffset(GrammarTokenizerOptions::VT_TOKENIZATION_CODEPOINT_CONFIG, tokenization_codepoint_config);
1989 }
add_internal_tokenizer_codepoint_rangesGrammarTokenizerOptionsBuilder1990 void add_internal_tokenizer_codepoint_ranges(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CodepointRange>>> internal_tokenizer_codepoint_ranges) {
1991 fbb_.AddOffset(GrammarTokenizerOptions::VT_INTERNAL_TOKENIZER_CODEPOINT_RANGES, internal_tokenizer_codepoint_ranges);
1992 }
add_tokenize_on_script_changeGrammarTokenizerOptionsBuilder1993 void add_tokenize_on_script_change(bool tokenize_on_script_change) {
1994 fbb_.AddElement<uint8_t>(GrammarTokenizerOptions::VT_TOKENIZE_ON_SCRIPT_CHANGE, static_cast<uint8_t>(tokenize_on_script_change), 0);
1995 }
GrammarTokenizerOptionsBuilderGrammarTokenizerOptionsBuilder1996 explicit GrammarTokenizerOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
1997 : fbb_(_fbb) {
1998 start_ = fbb_.StartTable();
1999 }
FinishGrammarTokenizerOptionsBuilder2000 flatbuffers::Offset<GrammarTokenizerOptions> Finish() {
2001 const auto end = fbb_.EndTable(start_);
2002 auto o = flatbuffers::Offset<GrammarTokenizerOptions>(end);
2003 return o;
2004 }
2005 };
2006
2007 inline flatbuffers::Offset<GrammarTokenizerOptions> CreateGrammarTokenizerOptions(
2008 flatbuffers::FlatBufferBuilder &_fbb,
2009 libtextclassifier3::TokenizationType tokenization_type = libtextclassifier3::TokenizationType_ICU,
2010 bool icu_preserve_whitespace_tokens = false,
2011 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>>> tokenization_codepoint_config = 0,
2012 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CodepointRange>>> internal_tokenizer_codepoint_ranges = 0,
2013 bool tokenize_on_script_change = false) {
2014 GrammarTokenizerOptionsBuilder builder_(_fbb);
2015 builder_.add_internal_tokenizer_codepoint_ranges(internal_tokenizer_codepoint_ranges);
2016 builder_.add_tokenization_codepoint_config(tokenization_codepoint_config);
2017 builder_.add_tokenization_type(tokenization_type);
2018 builder_.add_tokenize_on_script_change(tokenize_on_script_change);
2019 builder_.add_icu_preserve_whitespace_tokens(icu_preserve_whitespace_tokens);
2020 return builder_.Finish();
2021 }
2022
2023 inline flatbuffers::Offset<GrammarTokenizerOptions> CreateGrammarTokenizerOptionsDirect(
2024 flatbuffers::FlatBufferBuilder &_fbb,
2025 libtextclassifier3::TokenizationType tokenization_type = libtextclassifier3::TokenizationType_ICU,
2026 bool icu_preserve_whitespace_tokens = false,
2027 const std::vector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>> *tokenization_codepoint_config = nullptr,
2028 const std::vector<flatbuffers::Offset<libtextclassifier3::CodepointRange>> *internal_tokenizer_codepoint_ranges = nullptr,
2029 bool tokenize_on_script_change = false) {
2030 auto tokenization_codepoint_config__ = tokenization_codepoint_config ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::TokenizationCodepointRange>>(*tokenization_codepoint_config) : 0;
2031 auto internal_tokenizer_codepoint_ranges__ = internal_tokenizer_codepoint_ranges ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::CodepointRange>>(*internal_tokenizer_codepoint_ranges) : 0;
2032 return libtextclassifier3::CreateGrammarTokenizerOptions(
2033 _fbb,
2034 tokenization_type,
2035 icu_preserve_whitespace_tokens,
2036 tokenization_codepoint_config__,
2037 internal_tokenizer_codepoint_ranges__,
2038 tokenize_on_script_change);
2039 }
2040
2041 flatbuffers::Offset<GrammarTokenizerOptions> CreateGrammarTokenizerOptions(flatbuffers::FlatBufferBuilder &_fbb, const GrammarTokenizerOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2042
2043 namespace DatetimeModelLibrary_ {
2044
2045 struct ItemT : public flatbuffers::NativeTable {
2046 typedef Item TableType;
2047 std::string key{};
2048 std::unique_ptr<libtextclassifier3::DatetimeModelT> value{};
2049 ItemT() = default;
2050 ItemT(const ItemT &o);
2051 ItemT(ItemT&&) FLATBUFFERS_NOEXCEPT = default;
2052 ItemT &operator=(ItemT o) FLATBUFFERS_NOEXCEPT;
2053 };
2054
2055 struct Item FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2056 typedef ItemT NativeTableType;
2057 typedef ItemBuilder Builder;
2058 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2059 VT_KEY = 4,
2060 VT_VALUE = 6
2061 };
keyFLATBUFFERS_FINAL_CLASS2062 const flatbuffers::String *key() const {
2063 return GetPointer<const flatbuffers::String *>(VT_KEY);
2064 }
valueFLATBUFFERS_FINAL_CLASS2065 const libtextclassifier3::DatetimeModel *value() const {
2066 return GetPointer<const libtextclassifier3::DatetimeModel *>(VT_VALUE);
2067 }
VerifyFLATBUFFERS_FINAL_CLASS2068 bool Verify(flatbuffers::Verifier &verifier) const {
2069 return VerifyTableStart(verifier) &&
2070 VerifyOffset(verifier, VT_KEY) &&
2071 verifier.VerifyString(key()) &&
2072 VerifyOffset(verifier, VT_VALUE) &&
2073 verifier.VerifyTable(value()) &&
2074 verifier.EndTable();
2075 }
2076 ItemT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2077 void UnPackTo(ItemT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2078 static flatbuffers::Offset<Item> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ItemT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2079 };
2080
2081 struct ItemBuilder {
2082 typedef Item Table;
2083 flatbuffers::FlatBufferBuilder &fbb_;
2084 flatbuffers::uoffset_t start_;
add_keyItemBuilder2085 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
2086 fbb_.AddOffset(Item::VT_KEY, key);
2087 }
add_valueItemBuilder2088 void add_value(flatbuffers::Offset<libtextclassifier3::DatetimeModel> value) {
2089 fbb_.AddOffset(Item::VT_VALUE, value);
2090 }
ItemBuilderItemBuilder2091 explicit ItemBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2092 : fbb_(_fbb) {
2093 start_ = fbb_.StartTable();
2094 }
FinishItemBuilder2095 flatbuffers::Offset<Item> Finish() {
2096 const auto end = fbb_.EndTable(start_);
2097 auto o = flatbuffers::Offset<Item>(end);
2098 return o;
2099 }
2100 };
2101
2102 inline flatbuffers::Offset<Item> CreateItem(
2103 flatbuffers::FlatBufferBuilder &_fbb,
2104 flatbuffers::Offset<flatbuffers::String> key = 0,
2105 flatbuffers::Offset<libtextclassifier3::DatetimeModel> value = 0) {
2106 ItemBuilder builder_(_fbb);
2107 builder_.add_value(value);
2108 builder_.add_key(key);
2109 return builder_.Finish();
2110 }
2111
2112 inline flatbuffers::Offset<Item> CreateItemDirect(
2113 flatbuffers::FlatBufferBuilder &_fbb,
2114 const char *key = nullptr,
2115 flatbuffers::Offset<libtextclassifier3::DatetimeModel> value = 0) {
2116 auto key__ = key ? _fbb.CreateSharedString(key) : 0;
2117 return libtextclassifier3::DatetimeModelLibrary_::CreateItem(
2118 _fbb,
2119 key__,
2120 value);
2121 }
2122
2123 flatbuffers::Offset<Item> CreateItem(flatbuffers::FlatBufferBuilder &_fbb, const ItemT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2124
2125 } // namespace DatetimeModelLibrary_
2126
2127 struct DatetimeModelLibraryT : public flatbuffers::NativeTable {
2128 typedef DatetimeModelLibrary TableType;
2129 std::vector<std::unique_ptr<libtextclassifier3::DatetimeModelLibrary_::ItemT>> models{};
2130 DatetimeModelLibraryT() = default;
2131 DatetimeModelLibraryT(const DatetimeModelLibraryT &o);
2132 DatetimeModelLibraryT(DatetimeModelLibraryT&&) FLATBUFFERS_NOEXCEPT = default;
2133 DatetimeModelLibraryT &operator=(DatetimeModelLibraryT o) FLATBUFFERS_NOEXCEPT;
2134 };
2135
2136 struct DatetimeModelLibrary FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2137 typedef DatetimeModelLibraryT NativeTableType;
2138 typedef DatetimeModelLibraryBuilder Builder;
2139 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2140 VT_MODELS = 4
2141 };
modelsFLATBUFFERS_FINAL_CLASS2142 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>> *models() const {
2143 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>> *>(VT_MODELS);
2144 }
VerifyFLATBUFFERS_FINAL_CLASS2145 bool Verify(flatbuffers::Verifier &verifier) const {
2146 return VerifyTableStart(verifier) &&
2147 VerifyOffset(verifier, VT_MODELS) &&
2148 verifier.VerifyVector(models()) &&
2149 verifier.VerifyVectorOfTables(models()) &&
2150 verifier.EndTable();
2151 }
2152 DatetimeModelLibraryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2153 void UnPackTo(DatetimeModelLibraryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2154 static flatbuffers::Offset<DatetimeModelLibrary> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelLibraryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2155 };
2156
2157 struct DatetimeModelLibraryBuilder {
2158 typedef DatetimeModelLibrary Table;
2159 flatbuffers::FlatBufferBuilder &fbb_;
2160 flatbuffers::uoffset_t start_;
add_modelsDatetimeModelLibraryBuilder2161 void add_models(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>>> models) {
2162 fbb_.AddOffset(DatetimeModelLibrary::VT_MODELS, models);
2163 }
DatetimeModelLibraryBuilderDatetimeModelLibraryBuilder2164 explicit DatetimeModelLibraryBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2165 : fbb_(_fbb) {
2166 start_ = fbb_.StartTable();
2167 }
FinishDatetimeModelLibraryBuilder2168 flatbuffers::Offset<DatetimeModelLibrary> Finish() {
2169 const auto end = fbb_.EndTable(start_);
2170 auto o = flatbuffers::Offset<DatetimeModelLibrary>(end);
2171 return o;
2172 }
2173 };
2174
2175 inline flatbuffers::Offset<DatetimeModelLibrary> CreateDatetimeModelLibrary(
2176 flatbuffers::FlatBufferBuilder &_fbb,
2177 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>>> models = 0) {
2178 DatetimeModelLibraryBuilder builder_(_fbb);
2179 builder_.add_models(models);
2180 return builder_.Finish();
2181 }
2182
2183 inline flatbuffers::Offset<DatetimeModelLibrary> CreateDatetimeModelLibraryDirect(
2184 flatbuffers::FlatBufferBuilder &_fbb,
2185 const std::vector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>> *models = nullptr) {
2186 auto models__ = models ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::DatetimeModelLibrary_::Item>>(*models) : 0;
2187 return libtextclassifier3::CreateDatetimeModelLibrary(
2188 _fbb,
2189 models__);
2190 }
2191
2192 flatbuffers::Offset<DatetimeModelLibrary> CreateDatetimeModelLibrary(flatbuffers::FlatBufferBuilder &_fbb, const DatetimeModelLibraryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2193
2194 namespace GrammarModel_ {
2195
2196 struct RuleClassificationResultT : public flatbuffers::NativeTable {
2197 typedef RuleClassificationResult TableType;
2198 std::string collection_name{};
2199 float target_classification_score = 1.0f;
2200 float priority_score = 0.0f;
2201 std::vector<std::unique_ptr<libtextclassifier3::CapturingGroupT>> capturing_group{};
2202 std::string serialized_entity_data{};
2203 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
2204 std::unique_ptr<libtextclassifier3::EntityDataT> entity_data{};
2205 RuleClassificationResultT() = default;
2206 RuleClassificationResultT(const RuleClassificationResultT &o);
2207 RuleClassificationResultT(RuleClassificationResultT&&) FLATBUFFERS_NOEXCEPT = default;
2208 RuleClassificationResultT &operator=(RuleClassificationResultT o) FLATBUFFERS_NOEXCEPT;
2209 };
2210
2211 struct RuleClassificationResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2212 typedef RuleClassificationResultT NativeTableType;
2213 typedef RuleClassificationResultBuilder Builder;
2214 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2215 VT_COLLECTION_NAME = 4,
2216 VT_TARGET_CLASSIFICATION_SCORE = 6,
2217 VT_PRIORITY_SCORE = 8,
2218 VT_CAPTURING_GROUP = 10,
2219 VT_SERIALIZED_ENTITY_DATA = 12,
2220 VT_ENABLED_MODES = 14,
2221 VT_ENTITY_DATA = 16
2222 };
collection_nameFLATBUFFERS_FINAL_CLASS2223 const flatbuffers::String *collection_name() const {
2224 return GetPointer<const flatbuffers::String *>(VT_COLLECTION_NAME);
2225 }
target_classification_scoreFLATBUFFERS_FINAL_CLASS2226 float target_classification_score() const {
2227 return GetField<float>(VT_TARGET_CLASSIFICATION_SCORE, 1.0f);
2228 }
priority_scoreFLATBUFFERS_FINAL_CLASS2229 float priority_score() const {
2230 return GetField<float>(VT_PRIORITY_SCORE, 0.0f);
2231 }
capturing_groupFLATBUFFERS_FINAL_CLASS2232 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *capturing_group() const {
2233 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *>(VT_CAPTURING_GROUP);
2234 }
serialized_entity_dataFLATBUFFERS_FINAL_CLASS2235 const flatbuffers::String *serialized_entity_data() const {
2236 return GetPointer<const flatbuffers::String *>(VT_SERIALIZED_ENTITY_DATA);
2237 }
enabled_modesFLATBUFFERS_FINAL_CLASS2238 libtextclassifier3::ModeFlag enabled_modes() const {
2239 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
2240 }
entity_dataFLATBUFFERS_FINAL_CLASS2241 const libtextclassifier3::EntityData *entity_data() const {
2242 return GetPointer<const libtextclassifier3::EntityData *>(VT_ENTITY_DATA);
2243 }
VerifyFLATBUFFERS_FINAL_CLASS2244 bool Verify(flatbuffers::Verifier &verifier) const {
2245 return VerifyTableStart(verifier) &&
2246 VerifyOffset(verifier, VT_COLLECTION_NAME) &&
2247 verifier.VerifyString(collection_name()) &&
2248 VerifyField<float>(verifier, VT_TARGET_CLASSIFICATION_SCORE, 4) &&
2249 VerifyField<float>(verifier, VT_PRIORITY_SCORE, 4) &&
2250 VerifyOffset(verifier, VT_CAPTURING_GROUP) &&
2251 verifier.VerifyVector(capturing_group()) &&
2252 verifier.VerifyVectorOfTables(capturing_group()) &&
2253 VerifyOffset(verifier, VT_SERIALIZED_ENTITY_DATA) &&
2254 verifier.VerifyString(serialized_entity_data()) &&
2255 VerifyField<int32_t>(verifier, VT_ENABLED_MODES, 4) &&
2256 VerifyOffset(verifier, VT_ENTITY_DATA) &&
2257 verifier.VerifyTable(entity_data()) &&
2258 verifier.EndTable();
2259 }
2260 RuleClassificationResultT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2261 void UnPackTo(RuleClassificationResultT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2262 static flatbuffers::Offset<RuleClassificationResult> Pack(flatbuffers::FlatBufferBuilder &_fbb, const RuleClassificationResultT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2263 };
2264
2265 struct RuleClassificationResultBuilder {
2266 typedef RuleClassificationResult Table;
2267 flatbuffers::FlatBufferBuilder &fbb_;
2268 flatbuffers::uoffset_t start_;
add_collection_nameRuleClassificationResultBuilder2269 void add_collection_name(flatbuffers::Offset<flatbuffers::String> collection_name) {
2270 fbb_.AddOffset(RuleClassificationResult::VT_COLLECTION_NAME, collection_name);
2271 }
add_target_classification_scoreRuleClassificationResultBuilder2272 void add_target_classification_score(float target_classification_score) {
2273 fbb_.AddElement<float>(RuleClassificationResult::VT_TARGET_CLASSIFICATION_SCORE, target_classification_score, 1.0f);
2274 }
add_priority_scoreRuleClassificationResultBuilder2275 void add_priority_score(float priority_score) {
2276 fbb_.AddElement<float>(RuleClassificationResult::VT_PRIORITY_SCORE, priority_score, 0.0f);
2277 }
add_capturing_groupRuleClassificationResultBuilder2278 void add_capturing_group(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>> capturing_group) {
2279 fbb_.AddOffset(RuleClassificationResult::VT_CAPTURING_GROUP, capturing_group);
2280 }
add_serialized_entity_dataRuleClassificationResultBuilder2281 void add_serialized_entity_data(flatbuffers::Offset<flatbuffers::String> serialized_entity_data) {
2282 fbb_.AddOffset(RuleClassificationResult::VT_SERIALIZED_ENTITY_DATA, serialized_entity_data);
2283 }
add_enabled_modesRuleClassificationResultBuilder2284 void add_enabled_modes(libtextclassifier3::ModeFlag enabled_modes) {
2285 fbb_.AddElement<int32_t>(RuleClassificationResult::VT_ENABLED_MODES, static_cast<int32_t>(enabled_modes), 7);
2286 }
add_entity_dataRuleClassificationResultBuilder2287 void add_entity_data(flatbuffers::Offset<libtextclassifier3::EntityData> entity_data) {
2288 fbb_.AddOffset(RuleClassificationResult::VT_ENTITY_DATA, entity_data);
2289 }
RuleClassificationResultBuilderRuleClassificationResultBuilder2290 explicit RuleClassificationResultBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2291 : fbb_(_fbb) {
2292 start_ = fbb_.StartTable();
2293 }
FinishRuleClassificationResultBuilder2294 flatbuffers::Offset<RuleClassificationResult> Finish() {
2295 const auto end = fbb_.EndTable(start_);
2296 auto o = flatbuffers::Offset<RuleClassificationResult>(end);
2297 return o;
2298 }
2299 };
2300
2301 inline flatbuffers::Offset<RuleClassificationResult> CreateRuleClassificationResult(
2302 flatbuffers::FlatBufferBuilder &_fbb,
2303 flatbuffers::Offset<flatbuffers::String> collection_name = 0,
2304 float target_classification_score = 1.0f,
2305 float priority_score = 0.0f,
2306 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>> capturing_group = 0,
2307 flatbuffers::Offset<flatbuffers::String> serialized_entity_data = 0,
2308 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
2309 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
2310 RuleClassificationResultBuilder builder_(_fbb);
2311 builder_.add_entity_data(entity_data);
2312 builder_.add_enabled_modes(enabled_modes);
2313 builder_.add_serialized_entity_data(serialized_entity_data);
2314 builder_.add_capturing_group(capturing_group);
2315 builder_.add_priority_score(priority_score);
2316 builder_.add_target_classification_score(target_classification_score);
2317 builder_.add_collection_name(collection_name);
2318 return builder_.Finish();
2319 }
2320
2321 inline flatbuffers::Offset<RuleClassificationResult> CreateRuleClassificationResultDirect(
2322 flatbuffers::FlatBufferBuilder &_fbb,
2323 const char *collection_name = nullptr,
2324 float target_classification_score = 1.0f,
2325 float priority_score = 0.0f,
2326 const std::vector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>> *capturing_group = nullptr,
2327 const char *serialized_entity_data = nullptr,
2328 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
2329 flatbuffers::Offset<libtextclassifier3::EntityData> entity_data = 0) {
2330 auto collection_name__ = collection_name ? _fbb.CreateSharedString(collection_name) : 0;
2331 auto capturing_group__ = capturing_group ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::CapturingGroup>>(*capturing_group) : 0;
2332 auto serialized_entity_data__ = serialized_entity_data ? _fbb.CreateSharedString(serialized_entity_data) : 0;
2333 return libtextclassifier3::GrammarModel_::CreateRuleClassificationResult(
2334 _fbb,
2335 collection_name__,
2336 target_classification_score,
2337 priority_score,
2338 capturing_group__,
2339 serialized_entity_data__,
2340 enabled_modes,
2341 entity_data);
2342 }
2343
2344 flatbuffers::Offset<RuleClassificationResult> CreateRuleClassificationResult(flatbuffers::FlatBufferBuilder &_fbb, const RuleClassificationResultT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2345
2346 } // namespace GrammarModel_
2347
2348 struct GrammarModelT : public flatbuffers::NativeTable {
2349 typedef GrammarModel TableType;
2350 std::unique_ptr<libtextclassifier3::grammar::RulesSetT> rules{};
2351 std::vector<std::unique_ptr<libtextclassifier3::GrammarModel_::RuleClassificationResultT>> rule_classification_result{};
2352 int32_t context_left_num_tokens = 0;
2353 int32_t context_right_num_tokens = 0;
2354 std::unique_ptr<libtextclassifier3::GrammarTokenizerOptionsT> tokenizer_options{};
2355 float target_classification_score = 1.0f;
2356 float priority_score = 1.0f;
2357 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
2358 GrammarModelT() = default;
2359 GrammarModelT(const GrammarModelT &o);
2360 GrammarModelT(GrammarModelT&&) FLATBUFFERS_NOEXCEPT = default;
2361 GrammarModelT &operator=(GrammarModelT o) FLATBUFFERS_NOEXCEPT;
2362 };
2363
2364 struct GrammarModel FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2365 typedef GrammarModelT NativeTableType;
2366 typedef GrammarModelBuilder Builder;
2367 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2368 VT_RULES = 4,
2369 VT_RULE_CLASSIFICATION_RESULT = 6,
2370 VT_CONTEXT_LEFT_NUM_TOKENS = 8,
2371 VT_CONTEXT_RIGHT_NUM_TOKENS = 10,
2372 VT_TOKENIZER_OPTIONS = 12,
2373 VT_TARGET_CLASSIFICATION_SCORE = 14,
2374 VT_PRIORITY_SCORE = 16,
2375 VT_ENABLED_MODES = 18
2376 };
rulesFLATBUFFERS_FINAL_CLASS2377 const libtextclassifier3::grammar::RulesSet *rules() const {
2378 return GetPointer<const libtextclassifier3::grammar::RulesSet *>(VT_RULES);
2379 }
rule_classification_resultFLATBUFFERS_FINAL_CLASS2380 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>> *rule_classification_result() const {
2381 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>> *>(VT_RULE_CLASSIFICATION_RESULT);
2382 }
context_left_num_tokensFLATBUFFERS_FINAL_CLASS2383 int32_t context_left_num_tokens() const {
2384 return GetField<int32_t>(VT_CONTEXT_LEFT_NUM_TOKENS, 0);
2385 }
context_right_num_tokensFLATBUFFERS_FINAL_CLASS2386 int32_t context_right_num_tokens() const {
2387 return GetField<int32_t>(VT_CONTEXT_RIGHT_NUM_TOKENS, 0);
2388 }
tokenizer_optionsFLATBUFFERS_FINAL_CLASS2389 const libtextclassifier3::GrammarTokenizerOptions *tokenizer_options() const {
2390 return GetPointer<const libtextclassifier3::GrammarTokenizerOptions *>(VT_TOKENIZER_OPTIONS);
2391 }
target_classification_scoreFLATBUFFERS_FINAL_CLASS2392 float target_classification_score() const {
2393 return GetField<float>(VT_TARGET_CLASSIFICATION_SCORE, 1.0f);
2394 }
priority_scoreFLATBUFFERS_FINAL_CLASS2395 float priority_score() const {
2396 return GetField<float>(VT_PRIORITY_SCORE, 1.0f);
2397 }
enabled_modesFLATBUFFERS_FINAL_CLASS2398 libtextclassifier3::ModeFlag enabled_modes() const {
2399 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
2400 }
VerifyFLATBUFFERS_FINAL_CLASS2401 bool Verify(flatbuffers::Verifier &verifier) const {
2402 return VerifyTableStart(verifier) &&
2403 VerifyOffset(verifier, VT_RULES) &&
2404 verifier.VerifyTable(rules()) &&
2405 VerifyOffset(verifier, VT_RULE_CLASSIFICATION_RESULT) &&
2406 verifier.VerifyVector(rule_classification_result()) &&
2407 verifier.VerifyVectorOfTables(rule_classification_result()) &&
2408 VerifyField<int32_t>(verifier, VT_CONTEXT_LEFT_NUM_TOKENS, 4) &&
2409 VerifyField<int32_t>(verifier, VT_CONTEXT_RIGHT_NUM_TOKENS, 4) &&
2410 VerifyOffset(verifier, VT_TOKENIZER_OPTIONS) &&
2411 verifier.VerifyTable(tokenizer_options()) &&
2412 VerifyField<float>(verifier, VT_TARGET_CLASSIFICATION_SCORE, 4) &&
2413 VerifyField<float>(verifier, VT_PRIORITY_SCORE, 4) &&
2414 VerifyField<int32_t>(verifier, VT_ENABLED_MODES, 4) &&
2415 verifier.EndTable();
2416 }
2417 GrammarModelT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2418 void UnPackTo(GrammarModelT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2419 static flatbuffers::Offset<GrammarModel> Pack(flatbuffers::FlatBufferBuilder &_fbb, const GrammarModelT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2420 };
2421
2422 struct GrammarModelBuilder {
2423 typedef GrammarModel Table;
2424 flatbuffers::FlatBufferBuilder &fbb_;
2425 flatbuffers::uoffset_t start_;
add_rulesGrammarModelBuilder2426 void add_rules(flatbuffers::Offset<libtextclassifier3::grammar::RulesSet> rules) {
2427 fbb_.AddOffset(GrammarModel::VT_RULES, rules);
2428 }
add_rule_classification_resultGrammarModelBuilder2429 void add_rule_classification_result(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>>> rule_classification_result) {
2430 fbb_.AddOffset(GrammarModel::VT_RULE_CLASSIFICATION_RESULT, rule_classification_result);
2431 }
add_context_left_num_tokensGrammarModelBuilder2432 void add_context_left_num_tokens(int32_t context_left_num_tokens) {
2433 fbb_.AddElement<int32_t>(GrammarModel::VT_CONTEXT_LEFT_NUM_TOKENS, context_left_num_tokens, 0);
2434 }
add_context_right_num_tokensGrammarModelBuilder2435 void add_context_right_num_tokens(int32_t context_right_num_tokens) {
2436 fbb_.AddElement<int32_t>(GrammarModel::VT_CONTEXT_RIGHT_NUM_TOKENS, context_right_num_tokens, 0);
2437 }
add_tokenizer_optionsGrammarModelBuilder2438 void add_tokenizer_options(flatbuffers::Offset<libtextclassifier3::GrammarTokenizerOptions> tokenizer_options) {
2439 fbb_.AddOffset(GrammarModel::VT_TOKENIZER_OPTIONS, tokenizer_options);
2440 }
add_target_classification_scoreGrammarModelBuilder2441 void add_target_classification_score(float target_classification_score) {
2442 fbb_.AddElement<float>(GrammarModel::VT_TARGET_CLASSIFICATION_SCORE, target_classification_score, 1.0f);
2443 }
add_priority_scoreGrammarModelBuilder2444 void add_priority_score(float priority_score) {
2445 fbb_.AddElement<float>(GrammarModel::VT_PRIORITY_SCORE, priority_score, 1.0f);
2446 }
add_enabled_modesGrammarModelBuilder2447 void add_enabled_modes(libtextclassifier3::ModeFlag enabled_modes) {
2448 fbb_.AddElement<int32_t>(GrammarModel::VT_ENABLED_MODES, static_cast<int32_t>(enabled_modes), 7);
2449 }
GrammarModelBuilderGrammarModelBuilder2450 explicit GrammarModelBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2451 : fbb_(_fbb) {
2452 start_ = fbb_.StartTable();
2453 }
FinishGrammarModelBuilder2454 flatbuffers::Offset<GrammarModel> Finish() {
2455 const auto end = fbb_.EndTable(start_);
2456 auto o = flatbuffers::Offset<GrammarModel>(end);
2457 return o;
2458 }
2459 };
2460
2461 inline flatbuffers::Offset<GrammarModel> CreateGrammarModel(
2462 flatbuffers::FlatBufferBuilder &_fbb,
2463 flatbuffers::Offset<libtextclassifier3::grammar::RulesSet> rules = 0,
2464 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>>> rule_classification_result = 0,
2465 int32_t context_left_num_tokens = 0,
2466 int32_t context_right_num_tokens = 0,
2467 flatbuffers::Offset<libtextclassifier3::GrammarTokenizerOptions> tokenizer_options = 0,
2468 float target_classification_score = 1.0f,
2469 float priority_score = 1.0f,
2470 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL) {
2471 GrammarModelBuilder builder_(_fbb);
2472 builder_.add_enabled_modes(enabled_modes);
2473 builder_.add_priority_score(priority_score);
2474 builder_.add_target_classification_score(target_classification_score);
2475 builder_.add_tokenizer_options(tokenizer_options);
2476 builder_.add_context_right_num_tokens(context_right_num_tokens);
2477 builder_.add_context_left_num_tokens(context_left_num_tokens);
2478 builder_.add_rule_classification_result(rule_classification_result);
2479 builder_.add_rules(rules);
2480 return builder_.Finish();
2481 }
2482
2483 inline flatbuffers::Offset<GrammarModel> CreateGrammarModelDirect(
2484 flatbuffers::FlatBufferBuilder &_fbb,
2485 flatbuffers::Offset<libtextclassifier3::grammar::RulesSet> rules = 0,
2486 const std::vector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>> *rule_classification_result = nullptr,
2487 int32_t context_left_num_tokens = 0,
2488 int32_t context_right_num_tokens = 0,
2489 flatbuffers::Offset<libtextclassifier3::GrammarTokenizerOptions> tokenizer_options = 0,
2490 float target_classification_score = 1.0f,
2491 float priority_score = 1.0f,
2492 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL) {
2493 auto rule_classification_result__ = rule_classification_result ? _fbb.CreateVector<flatbuffers::Offset<libtextclassifier3::GrammarModel_::RuleClassificationResult>>(*rule_classification_result) : 0;
2494 return libtextclassifier3::CreateGrammarModel(
2495 _fbb,
2496 rules,
2497 rule_classification_result__,
2498 context_left_num_tokens,
2499 context_right_num_tokens,
2500 tokenizer_options,
2501 target_classification_score,
2502 priority_score,
2503 enabled_modes);
2504 }
2505
2506 flatbuffers::Offset<GrammarModel> CreateGrammarModel(flatbuffers::FlatBufferBuilder &_fbb, const GrammarModelT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2507
2508 namespace MoneyParsingOptions_ {
2509
2510 struct QuantitiesNameToExponentEntryT : public flatbuffers::NativeTable {
2511 typedef QuantitiesNameToExponentEntry TableType;
2512 std::string key{};
2513 int32_t value = 0;
2514 };
2515
2516 struct QuantitiesNameToExponentEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2517 typedef QuantitiesNameToExponentEntryT NativeTableType;
2518 typedef QuantitiesNameToExponentEntryBuilder Builder;
2519 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2520 VT_KEY = 4,
2521 VT_VALUE = 6
2522 };
keyFLATBUFFERS_FINAL_CLASS2523 const flatbuffers::String *key() const {
2524 return GetPointer<const flatbuffers::String *>(VT_KEY);
2525 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS2526 bool KeyCompareLessThan(const QuantitiesNameToExponentEntry *o) const {
2527 return *key() < *o->key();
2528 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS2529 int KeyCompareWithValue(const char *_key) const {
2530 return strcmp(key()->c_str(), _key);
2531 }
valueFLATBUFFERS_FINAL_CLASS2532 int32_t value() const {
2533 return GetField<int32_t>(VT_VALUE, 0);
2534 }
VerifyFLATBUFFERS_FINAL_CLASS2535 bool Verify(flatbuffers::Verifier &verifier) const {
2536 return VerifyTableStart(verifier) &&
2537 VerifyOffsetRequired(verifier, VT_KEY) &&
2538 verifier.VerifyString(key()) &&
2539 VerifyField<int32_t>(verifier, VT_VALUE, 4) &&
2540 verifier.EndTable();
2541 }
2542 QuantitiesNameToExponentEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2543 void UnPackTo(QuantitiesNameToExponentEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2544 static flatbuffers::Offset<QuantitiesNameToExponentEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const QuantitiesNameToExponentEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2545 };
2546
2547 struct QuantitiesNameToExponentEntryBuilder {
2548 typedef QuantitiesNameToExponentEntry Table;
2549 flatbuffers::FlatBufferBuilder &fbb_;
2550 flatbuffers::uoffset_t start_;
add_keyQuantitiesNameToExponentEntryBuilder2551 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
2552 fbb_.AddOffset(QuantitiesNameToExponentEntry::VT_KEY, key);
2553 }
add_valueQuantitiesNameToExponentEntryBuilder2554 void add_value(int32_t value) {
2555 fbb_.AddElement<int32_t>(QuantitiesNameToExponentEntry::VT_VALUE, value, 0);
2556 }
QuantitiesNameToExponentEntryBuilderQuantitiesNameToExponentEntryBuilder2557 explicit QuantitiesNameToExponentEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2558 : fbb_(_fbb) {
2559 start_ = fbb_.StartTable();
2560 }
FinishQuantitiesNameToExponentEntryBuilder2561 flatbuffers::Offset<QuantitiesNameToExponentEntry> Finish() {
2562 const auto end = fbb_.EndTable(start_);
2563 auto o = flatbuffers::Offset<QuantitiesNameToExponentEntry>(end);
2564 fbb_.Required(o, QuantitiesNameToExponentEntry::VT_KEY);
2565 return o;
2566 }
2567 };
2568
2569 inline flatbuffers::Offset<QuantitiesNameToExponentEntry> CreateQuantitiesNameToExponentEntry(
2570 flatbuffers::FlatBufferBuilder &_fbb,
2571 flatbuffers::Offset<flatbuffers::String> key = 0,
2572 int32_t value = 0) {
2573 QuantitiesNameToExponentEntryBuilder builder_(_fbb);
2574 builder_.add_value(value);
2575 builder_.add_key(key);
2576 return builder_.Finish();
2577 }
2578
2579 inline flatbuffers::Offset<QuantitiesNameToExponentEntry> CreateQuantitiesNameToExponentEntryDirect(
2580 flatbuffers::FlatBufferBuilder &_fbb,
2581 const char *key = nullptr,
2582 int32_t value = 0) {
2583 auto key__ = key ? _fbb.CreateSharedString(key) : 0;
2584 return libtextclassifier3::MoneyParsingOptions_::CreateQuantitiesNameToExponentEntry(
2585 _fbb,
2586 key__,
2587 value);
2588 }
2589
2590 flatbuffers::Offset<QuantitiesNameToExponentEntry> CreateQuantitiesNameToExponentEntry(flatbuffers::FlatBufferBuilder &_fbb, const QuantitiesNameToExponentEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2591
2592 } // namespace MoneyParsingOptions_
2593
2594 struct MoneyParsingOptionsT : public flatbuffers::NativeTable {
2595 typedef MoneyParsingOptions TableType;
2596 std::vector<int32_t> separators{};
2597 std::vector<std::unique_ptr<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntryT>> quantities_name_to_exponent{};
2598 MoneyParsingOptionsT() = default;
2599 MoneyParsingOptionsT(const MoneyParsingOptionsT &o);
2600 MoneyParsingOptionsT(MoneyParsingOptionsT&&) FLATBUFFERS_NOEXCEPT = default;
2601 MoneyParsingOptionsT &operator=(MoneyParsingOptionsT o) FLATBUFFERS_NOEXCEPT;
2602 };
2603
2604 struct MoneyParsingOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2605 typedef MoneyParsingOptionsT NativeTableType;
2606 typedef MoneyParsingOptionsBuilder Builder;
2607 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2608 VT_SEPARATORS = 4,
2609 VT_QUANTITIES_NAME_TO_EXPONENT = 6
2610 };
separatorsFLATBUFFERS_FINAL_CLASS2611 const flatbuffers::Vector<int32_t> *separators() const {
2612 return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_SEPARATORS);
2613 }
quantities_name_to_exponentFLATBUFFERS_FINAL_CLASS2614 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>> *quantities_name_to_exponent() const {
2615 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>> *>(VT_QUANTITIES_NAME_TO_EXPONENT);
2616 }
VerifyFLATBUFFERS_FINAL_CLASS2617 bool Verify(flatbuffers::Verifier &verifier) const {
2618 return VerifyTableStart(verifier) &&
2619 VerifyOffset(verifier, VT_SEPARATORS) &&
2620 verifier.VerifyVector(separators()) &&
2621 VerifyOffset(verifier, VT_QUANTITIES_NAME_TO_EXPONENT) &&
2622 verifier.VerifyVector(quantities_name_to_exponent()) &&
2623 verifier.VerifyVectorOfTables(quantities_name_to_exponent()) &&
2624 verifier.EndTable();
2625 }
2626 MoneyParsingOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2627 void UnPackTo(MoneyParsingOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2628 static flatbuffers::Offset<MoneyParsingOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MoneyParsingOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2629 };
2630
2631 struct MoneyParsingOptionsBuilder {
2632 typedef MoneyParsingOptions Table;
2633 flatbuffers::FlatBufferBuilder &fbb_;
2634 flatbuffers::uoffset_t start_;
add_separatorsMoneyParsingOptionsBuilder2635 void add_separators(flatbuffers::Offset<flatbuffers::Vector<int32_t>> separators) {
2636 fbb_.AddOffset(MoneyParsingOptions::VT_SEPARATORS, separators);
2637 }
add_quantities_name_to_exponentMoneyParsingOptionsBuilder2638 void add_quantities_name_to_exponent(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>>> quantities_name_to_exponent) {
2639 fbb_.AddOffset(MoneyParsingOptions::VT_QUANTITIES_NAME_TO_EXPONENT, quantities_name_to_exponent);
2640 }
MoneyParsingOptionsBuilderMoneyParsingOptionsBuilder2641 explicit MoneyParsingOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2642 : fbb_(_fbb) {
2643 start_ = fbb_.StartTable();
2644 }
FinishMoneyParsingOptionsBuilder2645 flatbuffers::Offset<MoneyParsingOptions> Finish() {
2646 const auto end = fbb_.EndTable(start_);
2647 auto o = flatbuffers::Offset<MoneyParsingOptions>(end);
2648 return o;
2649 }
2650 };
2651
2652 inline flatbuffers::Offset<MoneyParsingOptions> CreateMoneyParsingOptions(
2653 flatbuffers::FlatBufferBuilder &_fbb,
2654 flatbuffers::Offset<flatbuffers::Vector<int32_t>> separators = 0,
2655 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>>> quantities_name_to_exponent = 0) {
2656 MoneyParsingOptionsBuilder builder_(_fbb);
2657 builder_.add_quantities_name_to_exponent(quantities_name_to_exponent);
2658 builder_.add_separators(separators);
2659 return builder_.Finish();
2660 }
2661
2662 inline flatbuffers::Offset<MoneyParsingOptions> CreateMoneyParsingOptionsDirect(
2663 flatbuffers::FlatBufferBuilder &_fbb,
2664 const std::vector<int32_t> *separators = nullptr,
2665 std::vector<flatbuffers::Offset<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>> *quantities_name_to_exponent = nullptr) {
2666 auto separators__ = separators ? _fbb.CreateVector<int32_t>(*separators) : 0;
2667 auto quantities_name_to_exponent__ = quantities_name_to_exponent ? _fbb.CreateVectorOfSortedTables<libtextclassifier3::MoneyParsingOptions_::QuantitiesNameToExponentEntry>(quantities_name_to_exponent) : 0;
2668 return libtextclassifier3::CreateMoneyParsingOptions(
2669 _fbb,
2670 separators__,
2671 quantities_name_to_exponent__);
2672 }
2673
2674 flatbuffers::Offset<MoneyParsingOptions> CreateMoneyParsingOptions(flatbuffers::FlatBufferBuilder &_fbb, const MoneyParsingOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2675
2676 namespace ModelTriggeringOptions_ {
2677
2678 struct CollectionToPriorityEntryT : public flatbuffers::NativeTable {
2679 typedef CollectionToPriorityEntry TableType;
2680 std::string key{};
2681 float value = 0.0f;
2682 };
2683
2684 struct CollectionToPriorityEntry FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2685 typedef CollectionToPriorityEntryT NativeTableType;
2686 typedef CollectionToPriorityEntryBuilder Builder;
2687 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2688 VT_KEY = 4,
2689 VT_VALUE = 6
2690 };
keyFLATBUFFERS_FINAL_CLASS2691 const flatbuffers::String *key() const {
2692 return GetPointer<const flatbuffers::String *>(VT_KEY);
2693 }
KeyCompareLessThanFLATBUFFERS_FINAL_CLASS2694 bool KeyCompareLessThan(const CollectionToPriorityEntry *o) const {
2695 return *key() < *o->key();
2696 }
KeyCompareWithValueFLATBUFFERS_FINAL_CLASS2697 int KeyCompareWithValue(const char *_key) const {
2698 return strcmp(key()->c_str(), _key);
2699 }
valueFLATBUFFERS_FINAL_CLASS2700 float value() const {
2701 return GetField<float>(VT_VALUE, 0.0f);
2702 }
VerifyFLATBUFFERS_FINAL_CLASS2703 bool Verify(flatbuffers::Verifier &verifier) const {
2704 return VerifyTableStart(verifier) &&
2705 VerifyOffsetRequired(verifier, VT_KEY) &&
2706 verifier.VerifyString(key()) &&
2707 VerifyField<float>(verifier, VT_VALUE, 4) &&
2708 verifier.EndTable();
2709 }
2710 CollectionToPriorityEntryT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2711 void UnPackTo(CollectionToPriorityEntryT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2712 static flatbuffers::Offset<CollectionToPriorityEntry> Pack(flatbuffers::FlatBufferBuilder &_fbb, const CollectionToPriorityEntryT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2713 };
2714
2715 struct CollectionToPriorityEntryBuilder {
2716 typedef CollectionToPriorityEntry Table;
2717 flatbuffers::FlatBufferBuilder &fbb_;
2718 flatbuffers::uoffset_t start_;
add_keyCollectionToPriorityEntryBuilder2719 void add_key(flatbuffers::Offset<flatbuffers::String> key) {
2720 fbb_.AddOffset(CollectionToPriorityEntry::VT_KEY, key);
2721 }
add_valueCollectionToPriorityEntryBuilder2722 void add_value(float value) {
2723 fbb_.AddElement<float>(CollectionToPriorityEntry::VT_VALUE, value, 0.0f);
2724 }
CollectionToPriorityEntryBuilderCollectionToPriorityEntryBuilder2725 explicit CollectionToPriorityEntryBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2726 : fbb_(_fbb) {
2727 start_ = fbb_.StartTable();
2728 }
FinishCollectionToPriorityEntryBuilder2729 flatbuffers::Offset<CollectionToPriorityEntry> Finish() {
2730 const auto end = fbb_.EndTable(start_);
2731 auto o = flatbuffers::Offset<CollectionToPriorityEntry>(end);
2732 fbb_.Required(o, CollectionToPriorityEntry::VT_KEY);
2733 return o;
2734 }
2735 };
2736
2737 inline flatbuffers::Offset<CollectionToPriorityEntry> CreateCollectionToPriorityEntry(
2738 flatbuffers::FlatBufferBuilder &_fbb,
2739 flatbuffers::Offset<flatbuffers::String> key = 0,
2740 float value = 0.0f) {
2741 CollectionToPriorityEntryBuilder builder_(_fbb);
2742 builder_.add_value(value);
2743 builder_.add_key(key);
2744 return builder_.Finish();
2745 }
2746
2747 inline flatbuffers::Offset<CollectionToPriorityEntry> CreateCollectionToPriorityEntryDirect(
2748 flatbuffers::FlatBufferBuilder &_fbb,
2749 const char *key = nullptr,
2750 float value = 0.0f) {
2751 auto key__ = key ? _fbb.CreateSharedString(key) : 0;
2752 return libtextclassifier3::ModelTriggeringOptions_::CreateCollectionToPriorityEntry(
2753 _fbb,
2754 key__,
2755 value);
2756 }
2757
2758 flatbuffers::Offset<CollectionToPriorityEntry> CreateCollectionToPriorityEntry(flatbuffers::FlatBufferBuilder &_fbb, const CollectionToPriorityEntryT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2759
2760 } // namespace ModelTriggeringOptions_
2761
2762 struct ModelTriggeringOptionsT : public flatbuffers::NativeTable {
2763 typedef ModelTriggeringOptions TableType;
2764 float min_annotate_confidence = 0.0f;
2765 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
2766 std::string dictionary_locales{};
2767 std::string locales{};
2768 float other_collection_priority_score = -1000.0f;
2769 float knowledge_priority_score = 0.0f;
2770 std::vector<std::unique_ptr<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntryT>> collection_to_priority{};
2771 libtextclassifier3::ModeFlag knowledge_enabled_modes = libtextclassifier3::ModeFlag_ALL;
2772 libtextclassifier3::ModeFlag experimental_enabled_modes = libtextclassifier3::ModeFlag_ALL;
2773 libtextclassifier3::ModeFlag installed_app_enabled_modes = libtextclassifier3::ModeFlag_ALL;
2774 ModelTriggeringOptionsT() = default;
2775 ModelTriggeringOptionsT(const ModelTriggeringOptionsT &o);
2776 ModelTriggeringOptionsT(ModelTriggeringOptionsT&&) FLATBUFFERS_NOEXCEPT = default;
2777 ModelTriggeringOptionsT &operator=(ModelTriggeringOptionsT o) FLATBUFFERS_NOEXCEPT;
2778 };
2779
2780 struct ModelTriggeringOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2781 typedef ModelTriggeringOptionsT NativeTableType;
2782 typedef ModelTriggeringOptionsBuilder Builder;
2783 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2784 VT_MIN_ANNOTATE_CONFIDENCE = 4,
2785 VT_ENABLED_MODES = 6,
2786 VT_DICTIONARY_LOCALES = 8,
2787 VT_LOCALES = 10,
2788 VT_OTHER_COLLECTION_PRIORITY_SCORE = 12,
2789 VT_KNOWLEDGE_PRIORITY_SCORE = 14,
2790 VT_COLLECTION_TO_PRIORITY = 18,
2791 VT_KNOWLEDGE_ENABLED_MODES = 20,
2792 VT_EXPERIMENTAL_ENABLED_MODES = 22,
2793 VT_INSTALLED_APP_ENABLED_MODES = 24
2794 };
min_annotate_confidenceFLATBUFFERS_FINAL_CLASS2795 float min_annotate_confidence() const {
2796 return GetField<float>(VT_MIN_ANNOTATE_CONFIDENCE, 0.0f);
2797 }
enabled_modesFLATBUFFERS_FINAL_CLASS2798 libtextclassifier3::ModeFlag enabled_modes() const {
2799 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
2800 }
dictionary_localesFLATBUFFERS_FINAL_CLASS2801 const flatbuffers::String *dictionary_locales() const {
2802 return GetPointer<const flatbuffers::String *>(VT_DICTIONARY_LOCALES);
2803 }
localesFLATBUFFERS_FINAL_CLASS2804 const flatbuffers::String *locales() const {
2805 return GetPointer<const flatbuffers::String *>(VT_LOCALES);
2806 }
other_collection_priority_scoreFLATBUFFERS_FINAL_CLASS2807 float other_collection_priority_score() const {
2808 return GetField<float>(VT_OTHER_COLLECTION_PRIORITY_SCORE, -1000.0f);
2809 }
knowledge_priority_scoreFLATBUFFERS_FINAL_CLASS2810 float knowledge_priority_score() const {
2811 return GetField<float>(VT_KNOWLEDGE_PRIORITY_SCORE, 0.0f);
2812 }
collection_to_priorityFLATBUFFERS_FINAL_CLASS2813 const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>> *collection_to_priority() const {
2814 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>> *>(VT_COLLECTION_TO_PRIORITY);
2815 }
knowledge_enabled_modesFLATBUFFERS_FINAL_CLASS2816 libtextclassifier3::ModeFlag knowledge_enabled_modes() const {
2817 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_KNOWLEDGE_ENABLED_MODES, 7));
2818 }
experimental_enabled_modesFLATBUFFERS_FINAL_CLASS2819 libtextclassifier3::ModeFlag experimental_enabled_modes() const {
2820 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_EXPERIMENTAL_ENABLED_MODES, 7));
2821 }
installed_app_enabled_modesFLATBUFFERS_FINAL_CLASS2822 libtextclassifier3::ModeFlag installed_app_enabled_modes() const {
2823 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_INSTALLED_APP_ENABLED_MODES, 7));
2824 }
VerifyFLATBUFFERS_FINAL_CLASS2825 bool Verify(flatbuffers::Verifier &verifier) const {
2826 return VerifyTableStart(verifier) &&
2827 VerifyField<float>(verifier, VT_MIN_ANNOTATE_CONFIDENCE, 4) &&
2828 VerifyField<int32_t>(verifier, VT_ENABLED_MODES, 4) &&
2829 VerifyOffset(verifier, VT_DICTIONARY_LOCALES) &&
2830 verifier.VerifyString(dictionary_locales()) &&
2831 VerifyOffset(verifier, VT_LOCALES) &&
2832 verifier.VerifyString(locales()) &&
2833 VerifyField<float>(verifier, VT_OTHER_COLLECTION_PRIORITY_SCORE, 4) &&
2834 VerifyField<float>(verifier, VT_KNOWLEDGE_PRIORITY_SCORE, 4) &&
2835 VerifyOffset(verifier, VT_COLLECTION_TO_PRIORITY) &&
2836 verifier.VerifyVector(collection_to_priority()) &&
2837 verifier.VerifyVectorOfTables(collection_to_priority()) &&
2838 VerifyField<int32_t>(verifier, VT_KNOWLEDGE_ENABLED_MODES, 4) &&
2839 VerifyField<int32_t>(verifier, VT_EXPERIMENTAL_ENABLED_MODES, 4) &&
2840 VerifyField<int32_t>(verifier, VT_INSTALLED_APP_ENABLED_MODES, 4) &&
2841 verifier.EndTable();
2842 }
2843 ModelTriggeringOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2844 void UnPackTo(ModelTriggeringOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2845 static flatbuffers::Offset<ModelTriggeringOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ModelTriggeringOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2846 };
2847
2848 struct ModelTriggeringOptionsBuilder {
2849 typedef ModelTriggeringOptions Table;
2850 flatbuffers::FlatBufferBuilder &fbb_;
2851 flatbuffers::uoffset_t start_;
add_min_annotate_confidenceModelTriggeringOptionsBuilder2852 void add_min_annotate_confidence(float min_annotate_confidence) {
2853 fbb_.AddElement<float>(ModelTriggeringOptions::VT_MIN_ANNOTATE_CONFIDENCE, min_annotate_confidence, 0.0f);
2854 }
add_enabled_modesModelTriggeringOptionsBuilder2855 void add_enabled_modes(libtextclassifier3::ModeFlag enabled_modes) {
2856 fbb_.AddElement<int32_t>(ModelTriggeringOptions::VT_ENABLED_MODES, static_cast<int32_t>(enabled_modes), 7);
2857 }
add_dictionary_localesModelTriggeringOptionsBuilder2858 void add_dictionary_locales(flatbuffers::Offset<flatbuffers::String> dictionary_locales) {
2859 fbb_.AddOffset(ModelTriggeringOptions::VT_DICTIONARY_LOCALES, dictionary_locales);
2860 }
add_localesModelTriggeringOptionsBuilder2861 void add_locales(flatbuffers::Offset<flatbuffers::String> locales) {
2862 fbb_.AddOffset(ModelTriggeringOptions::VT_LOCALES, locales);
2863 }
add_other_collection_priority_scoreModelTriggeringOptionsBuilder2864 void add_other_collection_priority_score(float other_collection_priority_score) {
2865 fbb_.AddElement<float>(ModelTriggeringOptions::VT_OTHER_COLLECTION_PRIORITY_SCORE, other_collection_priority_score, -1000.0f);
2866 }
add_knowledge_priority_scoreModelTriggeringOptionsBuilder2867 void add_knowledge_priority_score(float knowledge_priority_score) {
2868 fbb_.AddElement<float>(ModelTriggeringOptions::VT_KNOWLEDGE_PRIORITY_SCORE, knowledge_priority_score, 0.0f);
2869 }
add_collection_to_priorityModelTriggeringOptionsBuilder2870 void add_collection_to_priority(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>>> collection_to_priority) {
2871 fbb_.AddOffset(ModelTriggeringOptions::VT_COLLECTION_TO_PRIORITY, collection_to_priority);
2872 }
add_knowledge_enabled_modesModelTriggeringOptionsBuilder2873 void add_knowledge_enabled_modes(libtextclassifier3::ModeFlag knowledge_enabled_modes) {
2874 fbb_.AddElement<int32_t>(ModelTriggeringOptions::VT_KNOWLEDGE_ENABLED_MODES, static_cast<int32_t>(knowledge_enabled_modes), 7);
2875 }
add_experimental_enabled_modesModelTriggeringOptionsBuilder2876 void add_experimental_enabled_modes(libtextclassifier3::ModeFlag experimental_enabled_modes) {
2877 fbb_.AddElement<int32_t>(ModelTriggeringOptions::VT_EXPERIMENTAL_ENABLED_MODES, static_cast<int32_t>(experimental_enabled_modes), 7);
2878 }
add_installed_app_enabled_modesModelTriggeringOptionsBuilder2879 void add_installed_app_enabled_modes(libtextclassifier3::ModeFlag installed_app_enabled_modes) {
2880 fbb_.AddElement<int32_t>(ModelTriggeringOptions::VT_INSTALLED_APP_ENABLED_MODES, static_cast<int32_t>(installed_app_enabled_modes), 7);
2881 }
ModelTriggeringOptionsBuilderModelTriggeringOptionsBuilder2882 explicit ModelTriggeringOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
2883 : fbb_(_fbb) {
2884 start_ = fbb_.StartTable();
2885 }
FinishModelTriggeringOptionsBuilder2886 flatbuffers::Offset<ModelTriggeringOptions> Finish() {
2887 const auto end = fbb_.EndTable(start_);
2888 auto o = flatbuffers::Offset<ModelTriggeringOptions>(end);
2889 return o;
2890 }
2891 };
2892
2893 inline flatbuffers::Offset<ModelTriggeringOptions> CreateModelTriggeringOptions(
2894 flatbuffers::FlatBufferBuilder &_fbb,
2895 float min_annotate_confidence = 0.0f,
2896 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
2897 flatbuffers::Offset<flatbuffers::String> dictionary_locales = 0,
2898 flatbuffers::Offset<flatbuffers::String> locales = 0,
2899 float other_collection_priority_score = -1000.0f,
2900 float knowledge_priority_score = 0.0f,
2901 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>>> collection_to_priority = 0,
2902 libtextclassifier3::ModeFlag knowledge_enabled_modes = libtextclassifier3::ModeFlag_ALL,
2903 libtextclassifier3::ModeFlag experimental_enabled_modes = libtextclassifier3::ModeFlag_ALL,
2904 libtextclassifier3::ModeFlag installed_app_enabled_modes = libtextclassifier3::ModeFlag_ALL) {
2905 ModelTriggeringOptionsBuilder builder_(_fbb);
2906 builder_.add_installed_app_enabled_modes(installed_app_enabled_modes);
2907 builder_.add_experimental_enabled_modes(experimental_enabled_modes);
2908 builder_.add_knowledge_enabled_modes(knowledge_enabled_modes);
2909 builder_.add_collection_to_priority(collection_to_priority);
2910 builder_.add_knowledge_priority_score(knowledge_priority_score);
2911 builder_.add_other_collection_priority_score(other_collection_priority_score);
2912 builder_.add_locales(locales);
2913 builder_.add_dictionary_locales(dictionary_locales);
2914 builder_.add_enabled_modes(enabled_modes);
2915 builder_.add_min_annotate_confidence(min_annotate_confidence);
2916 return builder_.Finish();
2917 }
2918
2919 inline flatbuffers::Offset<ModelTriggeringOptions> CreateModelTriggeringOptionsDirect(
2920 flatbuffers::FlatBufferBuilder &_fbb,
2921 float min_annotate_confidence = 0.0f,
2922 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL,
2923 const char *dictionary_locales = nullptr,
2924 const char *locales = nullptr,
2925 float other_collection_priority_score = -1000.0f,
2926 float knowledge_priority_score = 0.0f,
2927 std::vector<flatbuffers::Offset<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>> *collection_to_priority = nullptr,
2928 libtextclassifier3::ModeFlag knowledge_enabled_modes = libtextclassifier3::ModeFlag_ALL,
2929 libtextclassifier3::ModeFlag experimental_enabled_modes = libtextclassifier3::ModeFlag_ALL,
2930 libtextclassifier3::ModeFlag installed_app_enabled_modes = libtextclassifier3::ModeFlag_ALL) {
2931 auto dictionary_locales__ = dictionary_locales ? _fbb.CreateSharedString(dictionary_locales) : 0;
2932 auto locales__ = locales ? _fbb.CreateSharedString(locales) : 0;
2933 auto collection_to_priority__ = collection_to_priority ? _fbb.CreateVectorOfSortedTables<libtextclassifier3::ModelTriggeringOptions_::CollectionToPriorityEntry>(collection_to_priority) : 0;
2934 return libtextclassifier3::CreateModelTriggeringOptions(
2935 _fbb,
2936 min_annotate_confidence,
2937 enabled_modes,
2938 dictionary_locales__,
2939 locales__,
2940 other_collection_priority_score,
2941 knowledge_priority_score,
2942 collection_to_priority__,
2943 knowledge_enabled_modes,
2944 experimental_enabled_modes,
2945 installed_app_enabled_modes);
2946 }
2947
2948 flatbuffers::Offset<ModelTriggeringOptions> CreateModelTriggeringOptions(flatbuffers::FlatBufferBuilder &_fbb, const ModelTriggeringOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2949
2950 struct OutputOptionsT : public flatbuffers::NativeTable {
2951 typedef OutputOptions TableType;
2952 std::vector<std::string> filtered_collections_annotation{};
2953 std::vector<std::string> filtered_collections_classification{};
2954 std::vector<std::string> filtered_collections_selection{};
2955 };
2956
2957 struct OutputOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
2958 typedef OutputOptionsT NativeTableType;
2959 typedef OutputOptionsBuilder Builder;
2960 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
2961 VT_FILTERED_COLLECTIONS_ANNOTATION = 4,
2962 VT_FILTERED_COLLECTIONS_CLASSIFICATION = 6,
2963 VT_FILTERED_COLLECTIONS_SELECTION = 8
2964 };
filtered_collections_annotationFLATBUFFERS_FINAL_CLASS2965 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_annotation() const {
2966 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_FILTERED_COLLECTIONS_ANNOTATION);
2967 }
filtered_collections_classificationFLATBUFFERS_FINAL_CLASS2968 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_classification() const {
2969 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_FILTERED_COLLECTIONS_CLASSIFICATION);
2970 }
filtered_collections_selectionFLATBUFFERS_FINAL_CLASS2971 const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_selection() const {
2972 return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_FILTERED_COLLECTIONS_SELECTION);
2973 }
VerifyFLATBUFFERS_FINAL_CLASS2974 bool Verify(flatbuffers::Verifier &verifier) const {
2975 return VerifyTableStart(verifier) &&
2976 VerifyOffset(verifier, VT_FILTERED_COLLECTIONS_ANNOTATION) &&
2977 verifier.VerifyVector(filtered_collections_annotation()) &&
2978 verifier.VerifyVectorOfStrings(filtered_collections_annotation()) &&
2979 VerifyOffset(verifier, VT_FILTERED_COLLECTIONS_CLASSIFICATION) &&
2980 verifier.VerifyVector(filtered_collections_classification()) &&
2981 verifier.VerifyVectorOfStrings(filtered_collections_classification()) &&
2982 VerifyOffset(verifier, VT_FILTERED_COLLECTIONS_SELECTION) &&
2983 verifier.VerifyVector(filtered_collections_selection()) &&
2984 verifier.VerifyVectorOfStrings(filtered_collections_selection()) &&
2985 verifier.EndTable();
2986 }
2987 OutputOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2988 void UnPackTo(OutputOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
2989 static flatbuffers::Offset<OutputOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const OutputOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
2990 };
2991
2992 struct OutputOptionsBuilder {
2993 typedef OutputOptions Table;
2994 flatbuffers::FlatBufferBuilder &fbb_;
2995 flatbuffers::uoffset_t start_;
add_filtered_collections_annotationOutputOptionsBuilder2996 void add_filtered_collections_annotation(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_annotation) {
2997 fbb_.AddOffset(OutputOptions::VT_FILTERED_COLLECTIONS_ANNOTATION, filtered_collections_annotation);
2998 }
add_filtered_collections_classificationOutputOptionsBuilder2999 void add_filtered_collections_classification(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_classification) {
3000 fbb_.AddOffset(OutputOptions::VT_FILTERED_COLLECTIONS_CLASSIFICATION, filtered_collections_classification);
3001 }
add_filtered_collections_selectionOutputOptionsBuilder3002 void add_filtered_collections_selection(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_selection) {
3003 fbb_.AddOffset(OutputOptions::VT_FILTERED_COLLECTIONS_SELECTION, filtered_collections_selection);
3004 }
OutputOptionsBuilderOutputOptionsBuilder3005 explicit OutputOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3006 : fbb_(_fbb) {
3007 start_ = fbb_.StartTable();
3008 }
FinishOutputOptionsBuilder3009 flatbuffers::Offset<OutputOptions> Finish() {
3010 const auto end = fbb_.EndTable(start_);
3011 auto o = flatbuffers::Offset<OutputOptions>(end);
3012 return o;
3013 }
3014 };
3015
3016 inline flatbuffers::Offset<OutputOptions> CreateOutputOptions(
3017 flatbuffers::FlatBufferBuilder &_fbb,
3018 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_annotation = 0,
3019 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_classification = 0,
3020 flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> filtered_collections_selection = 0) {
3021 OutputOptionsBuilder builder_(_fbb);
3022 builder_.add_filtered_collections_selection(filtered_collections_selection);
3023 builder_.add_filtered_collections_classification(filtered_collections_classification);
3024 builder_.add_filtered_collections_annotation(filtered_collections_annotation);
3025 return builder_.Finish();
3026 }
3027
3028 inline flatbuffers::Offset<OutputOptions> CreateOutputOptionsDirect(
3029 flatbuffers::FlatBufferBuilder &_fbb,
3030 const std::vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_annotation = nullptr,
3031 const std::vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_classification = nullptr,
3032 const std::vector<flatbuffers::Offset<flatbuffers::String>> *filtered_collections_selection = nullptr) {
3033 auto filtered_collections_annotation__ = filtered_collections_annotation ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*filtered_collections_annotation) : 0;
3034 auto filtered_collections_classification__ = filtered_collections_classification ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*filtered_collections_classification) : 0;
3035 auto filtered_collections_selection__ = filtered_collections_selection ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*filtered_collections_selection) : 0;
3036 return libtextclassifier3::CreateOutputOptions(
3037 _fbb,
3038 filtered_collections_annotation__,
3039 filtered_collections_classification__,
3040 filtered_collections_selection__);
3041 }
3042
3043 flatbuffers::Offset<OutputOptions> CreateOutputOptions(flatbuffers::FlatBufferBuilder &_fbb, const OutputOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3044
3045 namespace Model_ {
3046
3047 struct EmbeddingPruningMaskT : public flatbuffers::NativeTable {
3048 typedef EmbeddingPruningMask TableType;
3049 bool enabled = false;
3050 std::vector<uint64_t> pruning_mask{};
3051 int32_t full_num_buckets = 0;
3052 int32_t pruned_row_bucket_id = 0;
3053 };
3054
3055 struct EmbeddingPruningMask FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3056 typedef EmbeddingPruningMaskT NativeTableType;
3057 typedef EmbeddingPruningMaskBuilder Builder;
3058 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3059 VT_ENABLED = 4,
3060 VT_PRUNING_MASK = 6,
3061 VT_FULL_NUM_BUCKETS = 8,
3062 VT_PRUNED_ROW_BUCKET_ID = 10
3063 };
enabledFLATBUFFERS_FINAL_CLASS3064 bool enabled() const {
3065 return GetField<uint8_t>(VT_ENABLED, 0) != 0;
3066 }
pruning_maskFLATBUFFERS_FINAL_CLASS3067 const flatbuffers::Vector<uint64_t> *pruning_mask() const {
3068 return GetPointer<const flatbuffers::Vector<uint64_t> *>(VT_PRUNING_MASK);
3069 }
full_num_bucketsFLATBUFFERS_FINAL_CLASS3070 int32_t full_num_buckets() const {
3071 return GetField<int32_t>(VT_FULL_NUM_BUCKETS, 0);
3072 }
pruned_row_bucket_idFLATBUFFERS_FINAL_CLASS3073 int32_t pruned_row_bucket_id() const {
3074 return GetField<int32_t>(VT_PRUNED_ROW_BUCKET_ID, 0);
3075 }
VerifyFLATBUFFERS_FINAL_CLASS3076 bool Verify(flatbuffers::Verifier &verifier) const {
3077 return VerifyTableStart(verifier) &&
3078 VerifyField<uint8_t>(verifier, VT_ENABLED, 1) &&
3079 VerifyOffset(verifier, VT_PRUNING_MASK) &&
3080 verifier.VerifyVector(pruning_mask()) &&
3081 VerifyField<int32_t>(verifier, VT_FULL_NUM_BUCKETS, 4) &&
3082 VerifyField<int32_t>(verifier, VT_PRUNED_ROW_BUCKET_ID, 4) &&
3083 verifier.EndTable();
3084 }
3085 EmbeddingPruningMaskT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3086 void UnPackTo(EmbeddingPruningMaskT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3087 static flatbuffers::Offset<EmbeddingPruningMask> Pack(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingPruningMaskT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3088 };
3089
3090 struct EmbeddingPruningMaskBuilder {
3091 typedef EmbeddingPruningMask Table;
3092 flatbuffers::FlatBufferBuilder &fbb_;
3093 flatbuffers::uoffset_t start_;
add_enabledEmbeddingPruningMaskBuilder3094 void add_enabled(bool enabled) {
3095 fbb_.AddElement<uint8_t>(EmbeddingPruningMask::VT_ENABLED, static_cast<uint8_t>(enabled), 0);
3096 }
add_pruning_maskEmbeddingPruningMaskBuilder3097 void add_pruning_mask(flatbuffers::Offset<flatbuffers::Vector<uint64_t>> pruning_mask) {
3098 fbb_.AddOffset(EmbeddingPruningMask::VT_PRUNING_MASK, pruning_mask);
3099 }
add_full_num_bucketsEmbeddingPruningMaskBuilder3100 void add_full_num_buckets(int32_t full_num_buckets) {
3101 fbb_.AddElement<int32_t>(EmbeddingPruningMask::VT_FULL_NUM_BUCKETS, full_num_buckets, 0);
3102 }
add_pruned_row_bucket_idEmbeddingPruningMaskBuilder3103 void add_pruned_row_bucket_id(int32_t pruned_row_bucket_id) {
3104 fbb_.AddElement<int32_t>(EmbeddingPruningMask::VT_PRUNED_ROW_BUCKET_ID, pruned_row_bucket_id, 0);
3105 }
EmbeddingPruningMaskBuilderEmbeddingPruningMaskBuilder3106 explicit EmbeddingPruningMaskBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3107 : fbb_(_fbb) {
3108 start_ = fbb_.StartTable();
3109 }
FinishEmbeddingPruningMaskBuilder3110 flatbuffers::Offset<EmbeddingPruningMask> Finish() {
3111 const auto end = fbb_.EndTable(start_);
3112 auto o = flatbuffers::Offset<EmbeddingPruningMask>(end);
3113 return o;
3114 }
3115 };
3116
3117 inline flatbuffers::Offset<EmbeddingPruningMask> CreateEmbeddingPruningMask(
3118 flatbuffers::FlatBufferBuilder &_fbb,
3119 bool enabled = false,
3120 flatbuffers::Offset<flatbuffers::Vector<uint64_t>> pruning_mask = 0,
3121 int32_t full_num_buckets = 0,
3122 int32_t pruned_row_bucket_id = 0) {
3123 EmbeddingPruningMaskBuilder builder_(_fbb);
3124 builder_.add_pruned_row_bucket_id(pruned_row_bucket_id);
3125 builder_.add_full_num_buckets(full_num_buckets);
3126 builder_.add_pruning_mask(pruning_mask);
3127 builder_.add_enabled(enabled);
3128 return builder_.Finish();
3129 }
3130
3131 inline flatbuffers::Offset<EmbeddingPruningMask> CreateEmbeddingPruningMaskDirect(
3132 flatbuffers::FlatBufferBuilder &_fbb,
3133 bool enabled = false,
3134 const std::vector<uint64_t> *pruning_mask = nullptr,
3135 int32_t full_num_buckets = 0,
3136 int32_t pruned_row_bucket_id = 0) {
3137 if (pruning_mask) { _fbb.ForceVectorAlignment(pruning_mask->size(), sizeof(uint64_t), 16); }
3138 auto pruning_mask__ = pruning_mask ? _fbb.CreateVector<uint64_t>(*pruning_mask) : 0;
3139 return libtextclassifier3::Model_::CreateEmbeddingPruningMask(
3140 _fbb,
3141 enabled,
3142 pruning_mask__,
3143 full_num_buckets,
3144 pruned_row_bucket_id);
3145 }
3146
3147 flatbuffers::Offset<EmbeddingPruningMask> CreateEmbeddingPruningMask(flatbuffers::FlatBufferBuilder &_fbb, const EmbeddingPruningMaskT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3148
3149 struct ConflictResolutionOptionsT : public flatbuffers::NativeTable {
3150 typedef ConflictResolutionOptions TableType;
3151 bool prioritize_longest_annotation = false;
3152 bool do_conflict_resolution_in_raw_mode = true;
3153 };
3154
3155 struct ConflictResolutionOptions FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3156 typedef ConflictResolutionOptionsT NativeTableType;
3157 typedef ConflictResolutionOptionsBuilder Builder;
3158 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3159 VT_PRIORITIZE_LONGEST_ANNOTATION = 4,
3160 VT_DO_CONFLICT_RESOLUTION_IN_RAW_MODE = 6
3161 };
prioritize_longest_annotationFLATBUFFERS_FINAL_CLASS3162 bool prioritize_longest_annotation() const {
3163 return GetField<uint8_t>(VT_PRIORITIZE_LONGEST_ANNOTATION, 0) != 0;
3164 }
do_conflict_resolution_in_raw_modeFLATBUFFERS_FINAL_CLASS3165 bool do_conflict_resolution_in_raw_mode() const {
3166 return GetField<uint8_t>(VT_DO_CONFLICT_RESOLUTION_IN_RAW_MODE, 1) != 0;
3167 }
VerifyFLATBUFFERS_FINAL_CLASS3168 bool Verify(flatbuffers::Verifier &verifier) const {
3169 return VerifyTableStart(verifier) &&
3170 VerifyField<uint8_t>(verifier, VT_PRIORITIZE_LONGEST_ANNOTATION, 1) &&
3171 VerifyField<uint8_t>(verifier, VT_DO_CONFLICT_RESOLUTION_IN_RAW_MODE, 1) &&
3172 verifier.EndTable();
3173 }
3174 ConflictResolutionOptionsT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3175 void UnPackTo(ConflictResolutionOptionsT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
3176 static flatbuffers::Offset<ConflictResolutionOptions> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ConflictResolutionOptionsT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3177 };
3178
3179 struct ConflictResolutionOptionsBuilder {
3180 typedef ConflictResolutionOptions Table;
3181 flatbuffers::FlatBufferBuilder &fbb_;
3182 flatbuffers::uoffset_t start_;
add_prioritize_longest_annotationConflictResolutionOptionsBuilder3183 void add_prioritize_longest_annotation(bool prioritize_longest_annotation) {
3184 fbb_.AddElement<uint8_t>(ConflictResolutionOptions::VT_PRIORITIZE_LONGEST_ANNOTATION, static_cast<uint8_t>(prioritize_longest_annotation), 0);
3185 }
add_do_conflict_resolution_in_raw_modeConflictResolutionOptionsBuilder3186 void add_do_conflict_resolution_in_raw_mode(bool do_conflict_resolution_in_raw_mode) {
3187 fbb_.AddElement<uint8_t>(ConflictResolutionOptions::VT_DO_CONFLICT_RESOLUTION_IN_RAW_MODE, static_cast<uint8_t>(do_conflict_resolution_in_raw_mode), 1);
3188 }
ConflictResolutionOptionsBuilderConflictResolutionOptionsBuilder3189 explicit ConflictResolutionOptionsBuilder(flatbuffers::FlatBufferBuilder &_fbb)
3190 : fbb_(_fbb) {
3191 start_ = fbb_.StartTable();
3192 }
FinishConflictResolutionOptionsBuilder3193 flatbuffers::Offset<ConflictResolutionOptions> Finish() {
3194 const auto end = fbb_.EndTable(start_);
3195 auto o = flatbuffers::Offset<ConflictResolutionOptions>(end);
3196 return o;
3197 }
3198 };
3199
3200 inline flatbuffers::Offset<ConflictResolutionOptions> CreateConflictResolutionOptions(
3201 flatbuffers::FlatBufferBuilder &_fbb,
3202 bool prioritize_longest_annotation = false,
3203 bool do_conflict_resolution_in_raw_mode = true) {
3204 ConflictResolutionOptionsBuilder builder_(_fbb);
3205 builder_.add_do_conflict_resolution_in_raw_mode(do_conflict_resolution_in_raw_mode);
3206 builder_.add_prioritize_longest_annotation(prioritize_longest_annotation);
3207 return builder_.Finish();
3208 }
3209
3210 flatbuffers::Offset<ConflictResolutionOptions> CreateConflictResolutionOptions(flatbuffers::FlatBufferBuilder &_fbb, const ConflictResolutionOptionsT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
3211
3212 } // namespace Model_
3213
3214 struct ModelT : public flatbuffers::NativeTable {
3215 typedef Model TableType;
3216 std::string locales{};
3217 int32_t version = 0;
3218 std::string name{};
3219 std::unique_ptr<libtextclassifier3::FeatureProcessorOptionsT> selection_feature_options{};
3220 std::unique_ptr<libtextclassifier3::FeatureProcessorOptionsT> classification_feature_options{};
3221 std::vector<uint8_t> selection_model{};
3222 std::vector<uint8_t> classification_model{};
3223 std::vector<uint8_t> embedding_model{};
3224 std::unique_ptr<libtextclassifier3::SelectionModelOptionsT> selection_options{};
3225 std::unique_ptr<libtextclassifier3::ClassificationModelOptionsT> classification_options{};
3226 std::unique_ptr<libtextclassifier3::RegexModelT> regex_model{};
3227 std::unique_ptr<libtextclassifier3::DatetimeModelT> datetime_model{};
3228 std::unique_ptr<libtextclassifier3::ModelTriggeringOptionsT> triggering_options{};
3229 libtextclassifier3::ModeFlag enabled_modes = libtextclassifier3::ModeFlag_ALL;
3230 bool snap_whitespace_selections = true;
3231 std::unique_ptr<libtextclassifier3::OutputOptionsT> output_options{};
3232 std::unique_ptr<libtextclassifier3::AndroidIntentFactoryOptionsT> android_intent_options{};
3233 std::unique_ptr<libtextclassifier3::IntentFactoryModelT> intent_options{};
3234 std::unique_ptr<libtextclassifier3::ResourcePoolT> resources{};
3235 std::vector<uint8_t> entity_data_schema{};
3236 std::unique_ptr<libtextclassifier3::NumberAnnotatorOptionsT> number_annotator_options{};
3237 std::unique_ptr<libtextclassifier3::DurationAnnotatorOptionsT> duration_annotator_options{};
3238 std::string triggering_locales{};
3239 std::unique_ptr<libtextclassifier3::Model_::EmbeddingPruningMaskT> embedding_pruning_mask{};
3240 std::unique_ptr<libtextclassifier3::ContactAnnotatorOptionsT> contact_annotator_options{};
3241 std::unique_ptr<libtextclassifier3::MoneyParsingOptionsT> money_parsing_options{};
3242 std::unique_ptr<libtextclassifier3::TranslateAnnotatorOptionsT> translate_annotator_options{};
3243 std::unique_ptr<libtextclassifier3::GrammarModelT> grammar_model{};
3244 std::unique_ptr<libtextclassifier3::Model_::ConflictResolutionOptionsT> conflict_resolution_options{};
3245 std::unique_ptr<libtextclassifier3::ExperimentalModelT> experimental_model{};
3246 std::unique_ptr<libtextclassifier3::PodNerModelT> pod_ner_model{};
3247 std::unique_ptr<libtextclassifier3::VocabModelT> vocab_model{};
3248 std::unique_ptr<libtextclassifier3::GrammarModelT> datetime_grammar_model{};
3249 ModelT() = default;
3250 ModelT(const ModelT &o);
3251 ModelT(ModelT&&) FLATBUFFERS_NOEXCEPT = default;
3252 ModelT &operator=(ModelT o) FLATBUFFERS_NOEXCEPT;
3253 };
3254
3255 struct Model FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
3256 typedef ModelT NativeTableType;
3257 typedef ModelBuilder Builder;
3258 enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
3259 VT_LOCALES = 4,
3260 VT_VERSION = 6,
3261 VT_NAME = 8,
3262 VT_SELECTION_FEATURE_OPTIONS = 10,
3263 VT_CLASSIFICATION_FEATURE_OPTIONS = 12,
3264 VT_SELECTION_MODEL = 14,
3265 VT_CLASSIFICATION_MODEL = 16,
3266 VT_EMBEDDING_MODEL = 18,
3267 VT_SELECTION_OPTIONS = 20,
3268 VT_CLASSIFICATION_OPTIONS = 22,
3269 VT_REGEX_MODEL = 24,
3270 VT_DATETIME_MODEL = 26,
3271 VT_TRIGGERING_OPTIONS = 28,
3272 VT_ENABLED_MODES = 30,
3273 VT_SNAP_WHITESPACE_SELECTIONS = 32,
3274 VT_OUTPUT_OPTIONS = 34,
3275 VT_ANDROID_INTENT_OPTIONS = 36,
3276 VT_INTENT_OPTIONS = 38,
3277 VT_RESOURCES = 40,
3278 VT_ENTITY_DATA_SCHEMA = 42,
3279 VT_NUMBER_ANNOTATOR_OPTIONS = 44,
3280 VT_DURATION_ANNOTATOR_OPTIONS = 46,
3281 VT_TRIGGERING_LOCALES = 48,
3282 VT_EMBEDDING_PRUNING_MASK = 50,
3283 VT_CONTACT_ANNOTATOR_OPTIONS = 54,
3284 VT_MONEY_PARSING_OPTIONS = 56,
3285 VT_TRANSLATE_ANNOTATOR_OPTIONS = 58,
3286 VT_GRAMMAR_MODEL = 60,
3287 VT_CONFLICT_RESOLUTION_OPTIONS = 62,
3288 VT_EXPERIMENTAL_MODEL = 64,
3289 VT_POD_NER_MODEL = 66,
3290 VT_VOCAB_MODEL = 68,
3291 VT_DATETIME_GRAMMAR_MODEL = 70
3292 };
localesFLATBUFFERS_FINAL_CLASS3293 const flatbuffers::String *locales() const {
3294 return GetPointer<const flatbuffers::String *>(VT_LOCALES);
3295 }
versionFLATBUFFERS_FINAL_CLASS3296 int32_t version() const {
3297 return GetField<int32_t>(VT_VERSION, 0);
3298 }
nameFLATBUFFERS_FINAL_CLASS3299 const flatbuffers::String *name() const {
3300 return GetPointer<const flatbuffers::String *>(VT_NAME);
3301 }
selection_feature_optionsFLATBUFFERS_FINAL_CLASS3302 const libtextclassifier3::FeatureProcessorOptions *selection_feature_options() const {
3303 return GetPointer<const libtextclassifier3::FeatureProcessorOptions *>(VT_SELECTION_FEATURE_OPTIONS);
3304 }
classification_feature_optionsFLATBUFFERS_FINAL_CLASS3305 const libtextclassifier3::FeatureProcessorOptions *classification_feature_options() const {
3306 return GetPointer<const libtextclassifier3::FeatureProcessorOptions *>(VT_CLASSIFICATION_FEATURE_OPTIONS);
3307 }
selection_modelFLATBUFFERS_FINAL_CLASS3308 const flatbuffers::Vector<uint8_t> *selection_model() const {
3309 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_SELECTION_MODEL);
3310 }
classification_modelFLATBUFFERS_FINAL_CLASS3311 const flatbuffers::Vector<uint8_t> *classification_model() const {
3312 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_CLASSIFICATION_MODEL);
3313 }
embedding_modelFLATBUFFERS_FINAL_CLASS3314 const flatbuffers::Vector<uint8_t> *embedding_model() const {
3315 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_EMBEDDING_MODEL);
3316 }
selection_optionsFLATBUFFERS_FINAL_CLASS3317 const libtextclassifier3::SelectionModelOptions *selection_options() const {
3318 return GetPointer<const libtextclassifier3::SelectionModelOptions *>(VT_SELECTION_OPTIONS);
3319 }
classification_optionsFLATBUFFERS_FINAL_CLASS3320 const libtextclassifier3::ClassificationModelOptions *classification_options() const {
3321 return GetPointer<const libtextclassifier3::ClassificationModelOptions *>(VT_CLASSIFICATION_OPTIONS);
3322 }
regex_modelFLATBUFFERS_FINAL_CLASS3323 const libtextclassifier3::RegexModel *regex_model() const {
3324 return GetPointer<const libtextclassifier3::RegexModel *>(VT_REGEX_MODEL);
3325 }
datetime_modelFLATBUFFERS_FINAL_CLASS3326 const libtextclassifier3::DatetimeModel *datetime_model() const {
3327 return GetPointer<const libtextclassifier3::DatetimeModel *>(VT_DATETIME_MODEL);
3328 }
triggering_optionsFLATBUFFERS_FINAL_CLASS3329 const libtextclassifier3::ModelTriggeringOptions *triggering_options() const {
3330 return GetPointer<const libtextclassifier3::ModelTriggeringOptions *>(VT_TRIGGERING_OPTIONS);
3331 }
enabled_modesFLATBUFFERS_FINAL_CLASS3332 libtextclassifier3::ModeFlag enabled_modes() const {
3333 return static_cast<libtextclassifier3::ModeFlag>(GetField<int32_t>(VT_ENABLED_MODES, 7));
3334 }
snap_whitespace_selectionsFLATBUFFERS_FINAL_CLASS3335 bool snap_whitespace_selections() const {
3336 return GetField<uint8_t>(VT_SNAP_WHITESPACE_SELECTIONS, 1) != 0;
3337 }
output_optionsFLATBUFFERS_FINAL_CLASS3338 const libtextclassifier3::OutputOptions *output_options() const {
3339 return GetPointer<const libtextclassifier3::OutputOptions *>(VT_OUTPUT_OPTIONS);
3340 }
android_intent_optionsFLATBUFFERS_FINAL_CLASS3341 const libtextclassifier3::AndroidIntentFactoryOptions *android_intent_options() const {
3342 return GetPointer<const libtextclassifier3::AndroidIntentFactoryOptions *>(VT_ANDROID_INTENT_OPTIONS);
3343 }
intent_optionsFLATBUFFERS_FINAL_CLASS3344 const libtextclassifier3::IntentFactoryModel *intent_options() const {
3345 return GetPointer<const libtextclassifier3::IntentFactoryModel *>(VT_INTENT_OPTIONS);
3346 }
resourcesFLATBUFFERS_FINAL_CLASS3347 const libtextclassifier3::ResourcePool *resources() const {
3348 return GetPointer<const libtextclassifier3::ResourcePool *>(VT_RESOURCES);
3349 }
entity_data_schemaFLATBUFFERS_FINAL_CLASS3350 const flatbuffers::Vector<uint8_t> *entity_data_schema() const {
3351 return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_ENTITY_DATA_SCHEMA);
3352 }
number_annotator_optionsFLATBUFFERS_FINAL_CLASS3353 const libtextclassifier3::NumberAnnotatorOptions *number_annotator_options() const {
3354 return GetPointer<const libtextclassifier3::NumberAnnotatorOptions *>(VT_NUMBER_ANNOTATOR_OPTIONS);
3355 }
duration_annotator_optionsFLATBUFFERS_FINAL_CLASS3356 const libtextclassifier3::DurationAnnotatorOptions *duration_annotator_options() const {
3357 return GetPointer<const libtextclassifier3::DurationAnnotatorOptions *>(VT_DURATION_ANNOTATOR_OPTIONS);
3358 }
triggering_localesFLATBUFFERS_FINAL_CLASS3359 const flatbuffers::String *triggering_locales() const {
3360 return GetPointer<const flatbuffers::String *>(VT_TRIGGERING_LOCALES);
3361 }
embedding_pruning_maskFLATBUFFERS_FINAL_CLASS3362 const libtextclassifier3::Model_::EmbeddingPruningMask *embedding_pruning_mask() const {
3363 return GetPointer<const libtextclassifier3::Model_::EmbeddingPruningMask *>(VT_EMBEDDING_PRUNING_MASK);
3364 }
contact_annotator_optionsFLATBUFFERS_FINAL_CLASS3365 const libtextclassifier3::ContactAnnotatorOptions *contact_annotator_options() const {
3366 return GetPointer<const libtextclassifier3::ContactAnnotatorOptions *>(VT_CONTACT_ANNOTATOR_OPTIONS);
3367 }
money_parsing_optionsFLATBUFFERS_FINAL_CLASS3368 const libtextclassifier3::MoneyParsingOptions *money_parsing_options() const {
3369 return GetPointer<const libtextclassifier3::MoneyParsingOptions *>(VT_MONEY_PARSING_OPTIONS);
3370 }
translate_annotator_optionsFLATBUFFERS_FINAL_CLASS3371 const libtextclassifier3::TranslateAnnotatorOptions *translate_annotator_options() const {
3372 return GetPointer<const libtextclassifier3::TranslateAnnotatorOptions *>(VT_TRANSLATE_ANNOTATOR_OPTIONS);
3373 }
grammar_modelFLATBUFFERS_FINAL_CLASS3374