1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_LANGUAGETAG_LIBTEXTCLASSIFIER3_H_
5 #define FLATBUFFERS_GENERATED_LANGUAGETAG_LIBTEXTCLASSIFIER3_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 // Ensure the included flatbuffers.h is the same version as when this file was
10 // generated, otherwise it may not be compatible.
11 static_assert(FLATBUFFERS_VERSION_MAJOR == 2 &&
12               FLATBUFFERS_VERSION_MINOR == 0 &&
13               FLATBUFFERS_VERSION_REVISION == 7,
14              "Non-compatible flatbuffers version included");
15 
16 namespace libtextclassifier3 {
17 
18 struct LanguageTag;
19 struct LanguageTagBuilder;
20 struct LanguageTagT;
21 
22 struct LanguageTagT : public flatbuffers::NativeTable {
23   typedef LanguageTag TableType;
24   std::string language{};
25   std::string script{};
26   std::string region{};
27 };
28 
29 struct LanguageTag FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
30   typedef LanguageTagT NativeTableType;
31   typedef LanguageTagBuilder Builder;
32   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
33     VT_LANGUAGE = 4,
34     VT_SCRIPT = 6,
35     VT_REGION = 8
36   };
languageFLATBUFFERS_FINAL_CLASS37   const flatbuffers::String *language() const {
38     return GetPointer<const flatbuffers::String *>(VT_LANGUAGE);
39   }
scriptFLATBUFFERS_FINAL_CLASS40   const flatbuffers::String *script() const {
41     return GetPointer<const flatbuffers::String *>(VT_SCRIPT);
42   }
regionFLATBUFFERS_FINAL_CLASS43   const flatbuffers::String *region() const {
44     return GetPointer<const flatbuffers::String *>(VT_REGION);
45   }
VerifyFLATBUFFERS_FINAL_CLASS46   bool Verify(flatbuffers::Verifier &verifier) const {
47     return VerifyTableStart(verifier) &&
48            VerifyOffset(verifier, VT_LANGUAGE) &&
49            verifier.VerifyString(language()) &&
50            VerifyOffset(verifier, VT_SCRIPT) &&
51            verifier.VerifyString(script()) &&
52            VerifyOffset(verifier, VT_REGION) &&
53            verifier.VerifyString(region()) &&
54            verifier.EndTable();
55   }
56   LanguageTagT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
57   void UnPackTo(LanguageTagT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
58   static flatbuffers::Offset<LanguageTag> Pack(flatbuffers::FlatBufferBuilder &_fbb, const LanguageTagT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
59 };
60 
61 struct LanguageTagBuilder {
62   typedef LanguageTag Table;
63   flatbuffers::FlatBufferBuilder &fbb_;
64   flatbuffers::uoffset_t start_;
add_languageLanguageTagBuilder65   void add_language(flatbuffers::Offset<flatbuffers::String> language) {
66     fbb_.AddOffset(LanguageTag::VT_LANGUAGE, language);
67   }
add_scriptLanguageTagBuilder68   void add_script(flatbuffers::Offset<flatbuffers::String> script) {
69     fbb_.AddOffset(LanguageTag::VT_SCRIPT, script);
70   }
add_regionLanguageTagBuilder71   void add_region(flatbuffers::Offset<flatbuffers::String> region) {
72     fbb_.AddOffset(LanguageTag::VT_REGION, region);
73   }
LanguageTagBuilderLanguageTagBuilder74   explicit LanguageTagBuilder(flatbuffers::FlatBufferBuilder &_fbb)
75         : fbb_(_fbb) {
76     start_ = fbb_.StartTable();
77   }
FinishLanguageTagBuilder78   flatbuffers::Offset<LanguageTag> Finish() {
79     const auto end = fbb_.EndTable(start_);
80     auto o = flatbuffers::Offset<LanguageTag>(end);
81     return o;
82   }
83 };
84 
85 inline flatbuffers::Offset<LanguageTag> CreateLanguageTag(
86     flatbuffers::FlatBufferBuilder &_fbb,
87     flatbuffers::Offset<flatbuffers::String> language = 0,
88     flatbuffers::Offset<flatbuffers::String> script = 0,
89     flatbuffers::Offset<flatbuffers::String> region = 0) {
90   LanguageTagBuilder builder_(_fbb);
91   builder_.add_region(region);
92   builder_.add_script(script);
93   builder_.add_language(language);
94   return builder_.Finish();
95 }
96 
97 inline flatbuffers::Offset<LanguageTag> CreateLanguageTagDirect(
98     flatbuffers::FlatBufferBuilder &_fbb,
99     const char *language = nullptr,
100     const char *script = nullptr,
101     const char *region = nullptr) {
102   auto language__ = language ? _fbb.CreateSharedString(language) : 0;
103   auto script__ = script ? _fbb.CreateSharedString(script) : 0;
104   auto region__ = region ? _fbb.CreateSharedString(region) : 0;
105   return libtextclassifier3::CreateLanguageTag(
106       _fbb,
107       language__,
108       script__,
109       region__);
110 }
111 
112 flatbuffers::Offset<LanguageTag> CreateLanguageTag(flatbuffers::FlatBufferBuilder &_fbb, const LanguageTagT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
113 
UnPack(const flatbuffers::resolver_function_t * _resolver)114 inline LanguageTagT *LanguageTag::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
115   auto _o = std::unique_ptr<LanguageTagT>(new LanguageTagT());
116   UnPackTo(_o.get(), _resolver);
117   return _o.release();
118 }
119 
UnPackTo(LanguageTagT * _o,const flatbuffers::resolver_function_t * _resolver)120 inline void LanguageTag::UnPackTo(LanguageTagT *_o, const flatbuffers::resolver_function_t *_resolver) const {
121   (void)_o;
122   (void)_resolver;
123   { auto _e = language(); if (_e) _o->language = _e->str(); }
124   { auto _e = script(); if (_e) _o->script = _e->str(); }
125   { auto _e = region(); if (_e) _o->region = _e->str(); }
126 }
127 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const LanguageTagT * _o,const flatbuffers::rehasher_function_t * _rehasher)128 inline flatbuffers::Offset<LanguageTag> LanguageTag::Pack(flatbuffers::FlatBufferBuilder &_fbb, const LanguageTagT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
129   return CreateLanguageTag(_fbb, _o, _rehasher);
130 }
131 
CreateLanguageTag(flatbuffers::FlatBufferBuilder & _fbb,const LanguageTagT * _o,const flatbuffers::rehasher_function_t * _rehasher)132 inline flatbuffers::Offset<LanguageTag> CreateLanguageTag(flatbuffers::FlatBufferBuilder &_fbb, const LanguageTagT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
133   (void)_rehasher;
134   (void)_o;
135   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const LanguageTagT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
136   auto _language = _o->language.empty() ? 0 : _fbb.CreateSharedString(_o->language);
137   auto _script = _o->script.empty() ? 0 : _fbb.CreateSharedString(_o->script);
138   auto _region = _o->region.empty() ? 0 : _fbb.CreateSharedString(_o->region);
139   return libtextclassifier3::CreateLanguageTag(
140       _fbb,
141       _language,
142       _script,
143       _region);
144 }
145 
146 }  // namespace libtextclassifier3
147 
148 #endif  // FLATBUFFERS_GENERATED_LANGUAGETAG_LIBTEXTCLASSIFIER3_H_
149