1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_BITVECTOR_LIBTEXTCLASSIFIER3_H_
5 #define FLATBUFFERS_GENERATED_BITVECTOR_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 BitVectorData;
19 struct BitVectorDataBuilder;
20 struct BitVectorDataT;
21 
22 struct DenseBitVectorData;
23 struct DenseBitVectorDataBuilder;
24 struct DenseBitVectorDataT;
25 
26 struct SparseBitVectorData;
27 struct SparseBitVectorDataBuilder;
28 struct SparseBitVectorDataT;
29 
30 struct BitVectorDataT : public flatbuffers::NativeTable {
31   typedef BitVectorData TableType;
32   std::unique_ptr<libtextclassifier3::DenseBitVectorDataT> dense_data{};
33   std::unique_ptr<libtextclassifier3::SparseBitVectorDataT> sparse_data{};
34   BitVectorDataT() = default;
35   BitVectorDataT(const BitVectorDataT &o);
36   BitVectorDataT(BitVectorDataT&&) FLATBUFFERS_NOEXCEPT = default;
37   BitVectorDataT &operator=(BitVectorDataT o) FLATBUFFERS_NOEXCEPT;
38 };
39 
40 struct BitVectorData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
41   typedef BitVectorDataT NativeTableType;
42   typedef BitVectorDataBuilder Builder;
43   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
44     VT_DENSE_DATA = 4,
45     VT_SPARSE_DATA = 6
46   };
dense_dataFLATBUFFERS_FINAL_CLASS47   const libtextclassifier3::DenseBitVectorData *dense_data() const {
48     return GetPointer<const libtextclassifier3::DenseBitVectorData *>(VT_DENSE_DATA);
49   }
sparse_dataFLATBUFFERS_FINAL_CLASS50   const libtextclassifier3::SparseBitVectorData *sparse_data() const {
51     return GetPointer<const libtextclassifier3::SparseBitVectorData *>(VT_SPARSE_DATA);
52   }
VerifyFLATBUFFERS_FINAL_CLASS53   bool Verify(flatbuffers::Verifier &verifier) const {
54     return VerifyTableStart(verifier) &&
55            VerifyOffset(verifier, VT_DENSE_DATA) &&
56            verifier.VerifyTable(dense_data()) &&
57            VerifyOffset(verifier, VT_SPARSE_DATA) &&
58            verifier.VerifyTable(sparse_data()) &&
59            verifier.EndTable();
60   }
61   BitVectorDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
62   void UnPackTo(BitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
63   static flatbuffers::Offset<BitVectorData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const BitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
64 };
65 
66 struct BitVectorDataBuilder {
67   typedef BitVectorData Table;
68   flatbuffers::FlatBufferBuilder &fbb_;
69   flatbuffers::uoffset_t start_;
add_dense_dataBitVectorDataBuilder70   void add_dense_data(flatbuffers::Offset<libtextclassifier3::DenseBitVectorData> dense_data) {
71     fbb_.AddOffset(BitVectorData::VT_DENSE_DATA, dense_data);
72   }
add_sparse_dataBitVectorDataBuilder73   void add_sparse_data(flatbuffers::Offset<libtextclassifier3::SparseBitVectorData> sparse_data) {
74     fbb_.AddOffset(BitVectorData::VT_SPARSE_DATA, sparse_data);
75   }
BitVectorDataBuilderBitVectorDataBuilder76   explicit BitVectorDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
77         : fbb_(_fbb) {
78     start_ = fbb_.StartTable();
79   }
FinishBitVectorDataBuilder80   flatbuffers::Offset<BitVectorData> Finish() {
81     const auto end = fbb_.EndTable(start_);
82     auto o = flatbuffers::Offset<BitVectorData>(end);
83     return o;
84   }
85 };
86 
87 inline flatbuffers::Offset<BitVectorData> CreateBitVectorData(
88     flatbuffers::FlatBufferBuilder &_fbb,
89     flatbuffers::Offset<libtextclassifier3::DenseBitVectorData> dense_data = 0,
90     flatbuffers::Offset<libtextclassifier3::SparseBitVectorData> sparse_data = 0) {
91   BitVectorDataBuilder builder_(_fbb);
92   builder_.add_sparse_data(sparse_data);
93   builder_.add_dense_data(dense_data);
94   return builder_.Finish();
95 }
96 
97 flatbuffers::Offset<BitVectorData> CreateBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const BitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
98 
99 struct DenseBitVectorDataT : public flatbuffers::NativeTable {
100   typedef DenseBitVectorData TableType;
101   std::vector<uint8_t> data{};
102   int32_t size = 0;
103 };
104 
105 struct DenseBitVectorData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
106   typedef DenseBitVectorDataT NativeTableType;
107   typedef DenseBitVectorDataBuilder Builder;
108   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
109     VT_DATA = 4,
110     VT_SIZE = 6
111   };
dataFLATBUFFERS_FINAL_CLASS112   const flatbuffers::Vector<uint8_t> *data() const {
113     return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_DATA);
114   }
sizeFLATBUFFERS_FINAL_CLASS115   int32_t size() const {
116     return GetField<int32_t>(VT_SIZE, 0);
117   }
VerifyFLATBUFFERS_FINAL_CLASS118   bool Verify(flatbuffers::Verifier &verifier) const {
119     return VerifyTableStart(verifier) &&
120            VerifyOffset(verifier, VT_DATA) &&
121            verifier.VerifyVector(data()) &&
122            VerifyField<int32_t>(verifier, VT_SIZE, 4) &&
123            verifier.EndTable();
124   }
125   DenseBitVectorDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
126   void UnPackTo(DenseBitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
127   static flatbuffers::Offset<DenseBitVectorData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const DenseBitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
128 };
129 
130 struct DenseBitVectorDataBuilder {
131   typedef DenseBitVectorData Table;
132   flatbuffers::FlatBufferBuilder &fbb_;
133   flatbuffers::uoffset_t start_;
add_dataDenseBitVectorDataBuilder134   void add_data(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data) {
135     fbb_.AddOffset(DenseBitVectorData::VT_DATA, data);
136   }
add_sizeDenseBitVectorDataBuilder137   void add_size(int32_t size) {
138     fbb_.AddElement<int32_t>(DenseBitVectorData::VT_SIZE, size, 0);
139   }
DenseBitVectorDataBuilderDenseBitVectorDataBuilder140   explicit DenseBitVectorDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
141         : fbb_(_fbb) {
142     start_ = fbb_.StartTable();
143   }
FinishDenseBitVectorDataBuilder144   flatbuffers::Offset<DenseBitVectorData> Finish() {
145     const auto end = fbb_.EndTable(start_);
146     auto o = flatbuffers::Offset<DenseBitVectorData>(end);
147     return o;
148   }
149 };
150 
151 inline flatbuffers::Offset<DenseBitVectorData> CreateDenseBitVectorData(
152     flatbuffers::FlatBufferBuilder &_fbb,
153     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> data = 0,
154     int32_t size = 0) {
155   DenseBitVectorDataBuilder builder_(_fbb);
156   builder_.add_size(size);
157   builder_.add_data(data);
158   return builder_.Finish();
159 }
160 
161 inline flatbuffers::Offset<DenseBitVectorData> CreateDenseBitVectorDataDirect(
162     flatbuffers::FlatBufferBuilder &_fbb,
163     const std::vector<uint8_t> *data = nullptr,
164     int32_t size = 0) {
165   auto data__ = data ? _fbb.CreateVector<uint8_t>(*data) : 0;
166   return libtextclassifier3::CreateDenseBitVectorData(
167       _fbb,
168       data__,
169       size);
170 }
171 
172 flatbuffers::Offset<DenseBitVectorData> CreateDenseBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const DenseBitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
173 
174 struct SparseBitVectorDataT : public flatbuffers::NativeTable {
175   typedef SparseBitVectorData TableType;
176   std::vector<int32_t> sorted_indices_32{};
177 };
178 
179 struct SparseBitVectorData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
180   typedef SparseBitVectorDataT NativeTableType;
181   typedef SparseBitVectorDataBuilder Builder;
182   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
183     VT_SORTED_INDICES_32 = 4
184   };
sorted_indices_32FLATBUFFERS_FINAL_CLASS185   const flatbuffers::Vector<int32_t> *sorted_indices_32() const {
186     return GetPointer<const flatbuffers::Vector<int32_t> *>(VT_SORTED_INDICES_32);
187   }
VerifyFLATBUFFERS_FINAL_CLASS188   bool Verify(flatbuffers::Verifier &verifier) const {
189     return VerifyTableStart(verifier) &&
190            VerifyOffset(verifier, VT_SORTED_INDICES_32) &&
191            verifier.VerifyVector(sorted_indices_32()) &&
192            verifier.EndTable();
193   }
194   SparseBitVectorDataT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
195   void UnPackTo(SparseBitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
196   static flatbuffers::Offset<SparseBitVectorData> Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseBitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
197 };
198 
199 struct SparseBitVectorDataBuilder {
200   typedef SparseBitVectorData Table;
201   flatbuffers::FlatBufferBuilder &fbb_;
202   flatbuffers::uoffset_t start_;
add_sorted_indices_32SparseBitVectorDataBuilder203   void add_sorted_indices_32(flatbuffers::Offset<flatbuffers::Vector<int32_t>> sorted_indices_32) {
204     fbb_.AddOffset(SparseBitVectorData::VT_SORTED_INDICES_32, sorted_indices_32);
205   }
SparseBitVectorDataBuilderSparseBitVectorDataBuilder206   explicit SparseBitVectorDataBuilder(flatbuffers::FlatBufferBuilder &_fbb)
207         : fbb_(_fbb) {
208     start_ = fbb_.StartTable();
209   }
FinishSparseBitVectorDataBuilder210   flatbuffers::Offset<SparseBitVectorData> Finish() {
211     const auto end = fbb_.EndTable(start_);
212     auto o = flatbuffers::Offset<SparseBitVectorData>(end);
213     return o;
214   }
215 };
216 
217 inline flatbuffers::Offset<SparseBitVectorData> CreateSparseBitVectorData(
218     flatbuffers::FlatBufferBuilder &_fbb,
219     flatbuffers::Offset<flatbuffers::Vector<int32_t>> sorted_indices_32 = 0) {
220   SparseBitVectorDataBuilder builder_(_fbb);
221   builder_.add_sorted_indices_32(sorted_indices_32);
222   return builder_.Finish();
223 }
224 
225 inline flatbuffers::Offset<SparseBitVectorData> CreateSparseBitVectorDataDirect(
226     flatbuffers::FlatBufferBuilder &_fbb,
227     const std::vector<int32_t> *sorted_indices_32 = nullptr) {
228   auto sorted_indices_32__ = sorted_indices_32 ? _fbb.CreateVector<int32_t>(*sorted_indices_32) : 0;
229   return libtextclassifier3::CreateSparseBitVectorData(
230       _fbb,
231       sorted_indices_32__);
232 }
233 
234 flatbuffers::Offset<SparseBitVectorData> CreateSparseBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const SparseBitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
235 
BitVectorDataT(const BitVectorDataT & o)236 inline BitVectorDataT::BitVectorDataT(const BitVectorDataT &o)
237       : dense_data((o.dense_data) ? new libtextclassifier3::DenseBitVectorDataT(*o.dense_data) : nullptr),
238         sparse_data((o.sparse_data) ? new libtextclassifier3::SparseBitVectorDataT(*o.sparse_data) : nullptr) {
239 }
240 
241 inline BitVectorDataT &BitVectorDataT::operator=(BitVectorDataT o) FLATBUFFERS_NOEXCEPT {
242   std::swap(dense_data, o.dense_data);
243   std::swap(sparse_data, o.sparse_data);
244   return *this;
245 }
246 
UnPack(const flatbuffers::resolver_function_t * _resolver)247 inline BitVectorDataT *BitVectorData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
248   auto _o = std::unique_ptr<BitVectorDataT>(new BitVectorDataT());
249   UnPackTo(_o.get(), _resolver);
250   return _o.release();
251 }
252 
UnPackTo(BitVectorDataT * _o,const flatbuffers::resolver_function_t * _resolver)253 inline void BitVectorData::UnPackTo(BitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
254   (void)_o;
255   (void)_resolver;
256   { auto _e = dense_data(); if (_e) _o->dense_data = std::unique_ptr<libtextclassifier3::DenseBitVectorDataT>(_e->UnPack(_resolver)); }
257   { auto _e = sparse_data(); if (_e) _o->sparse_data = std::unique_ptr<libtextclassifier3::SparseBitVectorDataT>(_e->UnPack(_resolver)); }
258 }
259 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const BitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)260 inline flatbuffers::Offset<BitVectorData> BitVectorData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const BitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
261   return CreateBitVectorData(_fbb, _o, _rehasher);
262 }
263 
CreateBitVectorData(flatbuffers::FlatBufferBuilder & _fbb,const BitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)264 inline flatbuffers::Offset<BitVectorData> CreateBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const BitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
265   (void)_rehasher;
266   (void)_o;
267   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const BitVectorDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
268   auto _dense_data = _o->dense_data ? CreateDenseBitVectorData(_fbb, _o->dense_data.get(), _rehasher) : 0;
269   auto _sparse_data = _o->sparse_data ? CreateSparseBitVectorData(_fbb, _o->sparse_data.get(), _rehasher) : 0;
270   return libtextclassifier3::CreateBitVectorData(
271       _fbb,
272       _dense_data,
273       _sparse_data);
274 }
275 
UnPack(const flatbuffers::resolver_function_t * _resolver)276 inline DenseBitVectorDataT *DenseBitVectorData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
277   auto _o = std::unique_ptr<DenseBitVectorDataT>(new DenseBitVectorDataT());
278   UnPackTo(_o.get(), _resolver);
279   return _o.release();
280 }
281 
UnPackTo(DenseBitVectorDataT * _o,const flatbuffers::resolver_function_t * _resolver)282 inline void DenseBitVectorData::UnPackTo(DenseBitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
283   (void)_o;
284   (void)_resolver;
285   { auto _e = data(); if (_e) { _o->data.resize(_e->size()); std::copy(_e->begin(), _e->end(), _o->data.begin()); } }
286   { auto _e = size(); _o->size = _e; }
287 }
288 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const DenseBitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)289 inline flatbuffers::Offset<DenseBitVectorData> DenseBitVectorData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const DenseBitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
290   return CreateDenseBitVectorData(_fbb, _o, _rehasher);
291 }
292 
CreateDenseBitVectorData(flatbuffers::FlatBufferBuilder & _fbb,const DenseBitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)293 inline flatbuffers::Offset<DenseBitVectorData> CreateDenseBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const DenseBitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
294   (void)_rehasher;
295   (void)_o;
296   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const DenseBitVectorDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
297   auto _data = _o->data.size() ? _fbb.CreateVector(_o->data) : 0;
298   auto _size = _o->size;
299   return libtextclassifier3::CreateDenseBitVectorData(
300       _fbb,
301       _data,
302       _size);
303 }
304 
UnPack(const flatbuffers::resolver_function_t * _resolver)305 inline SparseBitVectorDataT *SparseBitVectorData::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
306   auto _o = std::unique_ptr<SparseBitVectorDataT>(new SparseBitVectorDataT());
307   UnPackTo(_o.get(), _resolver);
308   return _o.release();
309 }
310 
UnPackTo(SparseBitVectorDataT * _o,const flatbuffers::resolver_function_t * _resolver)311 inline void SparseBitVectorData::UnPackTo(SparseBitVectorDataT *_o, const flatbuffers::resolver_function_t *_resolver) const {
312   (void)_o;
313   (void)_resolver;
314   { auto _e = sorted_indices_32(); if (_e) { _o->sorted_indices_32.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->sorted_indices_32[_i] = _e->Get(_i); } } }
315 }
316 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const SparseBitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)317 inline flatbuffers::Offset<SparseBitVectorData> SparseBitVectorData::Pack(flatbuffers::FlatBufferBuilder &_fbb, const SparseBitVectorDataT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
318   return CreateSparseBitVectorData(_fbb, _o, _rehasher);
319 }
320 
CreateSparseBitVectorData(flatbuffers::FlatBufferBuilder & _fbb,const SparseBitVectorDataT * _o,const flatbuffers::rehasher_function_t * _rehasher)321 inline flatbuffers::Offset<SparseBitVectorData> CreateSparseBitVectorData(flatbuffers::FlatBufferBuilder &_fbb, const SparseBitVectorDataT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
322   (void)_rehasher;
323   (void)_o;
324   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const SparseBitVectorDataT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
325   auto _sorted_indices_32 = _o->sorted_indices_32.size() ? _fbb.CreateVector(_o->sorted_indices_32) : 0;
326   return libtextclassifier3::CreateSparseBitVectorData(
327       _fbb,
328       _sorted_indices_32);
329 }
330 
331 }  // namespace libtextclassifier3
332 
333 #endif  // FLATBUFFERS_GENERATED_BITVECTOR_LIBTEXTCLASSIFIER3_H_
334