1 // automatically generated by the FlatBuffers compiler, do not modify
2 
3 
4 #ifndef FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
5 #define FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
6 
7 #include "flatbuffers/flatbuffers.h"
8 
9 namespace CLCache {
10 
11 struct Shader;
12 struct ShaderT;
13 
14 struct Autotuning;
15 struct AutotuningT;
16 
17 struct Cache;
18 struct CacheT;
19 
20 inline const flatbuffers::TypeTable *ShaderTypeTable();
21 
22 inline const flatbuffers::TypeTable *AutotuningTypeTable();
23 
24 inline const flatbuffers::TypeTable *CacheTypeTable();
25 
26 struct ShaderT : public flatbuffers::NativeTable {
27   typedef Shader TableType;
28   std::vector<int8_t> buffer;
29   std::string program;
30   std::string kernel;
31   std::string buildInfo;
ShaderTShaderT32   ShaderT() {
33   }
34 };
35 
36 struct Shader FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
37   typedef ShaderT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS38   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
39     return ShaderTypeTable();
40   }
41   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
42     VT_BUFFER = 4,
43     VT_PROGRAM = 6,
44     VT_KERNEL = 8,
45     VT_BUILDINFO = 10
46   };
bufferFLATBUFFERS_FINAL_CLASS47   const flatbuffers::Vector<int8_t> *buffer() const {
48     return GetPointer<const flatbuffers::Vector<int8_t> *>(VT_BUFFER);
49   }
programFLATBUFFERS_FINAL_CLASS50   const flatbuffers::String *program() const {
51     return GetPointer<const flatbuffers::String *>(VT_PROGRAM);
52   }
kernelFLATBUFFERS_FINAL_CLASS53   const flatbuffers::String *kernel() const {
54     return GetPointer<const flatbuffers::String *>(VT_KERNEL);
55   }
buildInfoFLATBUFFERS_FINAL_CLASS56   const flatbuffers::String *buildInfo() const {
57     return GetPointer<const flatbuffers::String *>(VT_BUILDINFO);
58   }
VerifyFLATBUFFERS_FINAL_CLASS59   bool Verify(flatbuffers::Verifier &verifier) const {
60     return VerifyTableStart(verifier) &&
61            VerifyOffset(verifier, VT_BUFFER) &&
62            verifier.VerifyVector(buffer()) &&
63            VerifyOffset(verifier, VT_PROGRAM) &&
64            verifier.VerifyString(program()) &&
65            VerifyOffset(verifier, VT_KERNEL) &&
66            verifier.VerifyString(kernel()) &&
67            VerifyOffset(verifier, VT_BUILDINFO) &&
68            verifier.VerifyString(buildInfo()) &&
69            verifier.EndTable();
70   }
71   ShaderT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
72   void UnPackTo(ShaderT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
73   static flatbuffers::Offset<Shader> Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
74 };
75 
76 struct ShaderBuilder {
77   flatbuffers::FlatBufferBuilder &fbb_;
78   flatbuffers::uoffset_t start_;
add_bufferShaderBuilder79   void add_buffer(flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer) {
80     fbb_.AddOffset(Shader::VT_BUFFER, buffer);
81   }
add_programShaderBuilder82   void add_program(flatbuffers::Offset<flatbuffers::String> program) {
83     fbb_.AddOffset(Shader::VT_PROGRAM, program);
84   }
add_kernelShaderBuilder85   void add_kernel(flatbuffers::Offset<flatbuffers::String> kernel) {
86     fbb_.AddOffset(Shader::VT_KERNEL, kernel);
87   }
add_buildInfoShaderBuilder88   void add_buildInfo(flatbuffers::Offset<flatbuffers::String> buildInfo) {
89     fbb_.AddOffset(Shader::VT_BUILDINFO, buildInfo);
90   }
ShaderBuilderShaderBuilder91   explicit ShaderBuilder(flatbuffers::FlatBufferBuilder &_fbb)
92         : fbb_(_fbb) {
93     start_ = fbb_.StartTable();
94   }
95   ShaderBuilder &operator=(const ShaderBuilder &);
FinishShaderBuilder96   flatbuffers::Offset<Shader> Finish() {
97     const auto end = fbb_.EndTable(start_);
98     auto o = flatbuffers::Offset<Shader>(end);
99     return o;
100   }
101 };
102 
103 inline flatbuffers::Offset<Shader> CreateShader(
104     flatbuffers::FlatBufferBuilder &_fbb,
105     flatbuffers::Offset<flatbuffers::Vector<int8_t>> buffer = 0,
106     flatbuffers::Offset<flatbuffers::String> program = 0,
107     flatbuffers::Offset<flatbuffers::String> kernel = 0,
108     flatbuffers::Offset<flatbuffers::String> buildInfo = 0) {
109   ShaderBuilder builder_(_fbb);
110   builder_.add_buildInfo(buildInfo);
111   builder_.add_kernel(kernel);
112   builder_.add_program(program);
113   builder_.add_buffer(buffer);
114   return builder_.Finish();
115 }
116 
117 inline flatbuffers::Offset<Shader> CreateShaderDirect(
118     flatbuffers::FlatBufferBuilder &_fbb,
119     const std::vector<int8_t> *buffer = nullptr,
120     const char *program = nullptr,
121     const char *kernel = nullptr,
122     const char *buildInfo = nullptr) {
123   auto buffer__ = buffer ? _fbb.CreateVector<int8_t>(*buffer) : 0;
124   auto program__ = program ? _fbb.CreateString(program) : 0;
125   auto kernel__ = kernel ? _fbb.CreateString(kernel) : 0;
126   auto buildInfo__ = buildInfo ? _fbb.CreateString(buildInfo) : 0;
127   return CLCache::CreateShader(
128       _fbb,
129       buffer__,
130       program__,
131       kernel__,
132       buildInfo__);
133 }
134 
135 flatbuffers::Offset<Shader> CreateShader(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
136 
137 struct AutotuningT : public flatbuffers::NativeTable {
138   typedef Autotuning TableType;
139   std::string key;
140   std::vector<uint32_t> gloablSize;
141   std::vector<uint32_t> localSize;
142   uint32_t timeCost;
AutotuningTAutotuningT143   AutotuningT()
144       : timeCost(0) {
145   }
146 };
147 
148 struct Autotuning FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
149   typedef AutotuningT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS150   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
151     return AutotuningTypeTable();
152   }
153   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
154     VT_KEY = 4,
155     VT_GLOABLSIZE = 6,
156     VT_LOCALSIZE = 8,
157     VT_TIMECOST = 10
158   };
keyFLATBUFFERS_FINAL_CLASS159   const flatbuffers::String *key() const {
160     return GetPointer<const flatbuffers::String *>(VT_KEY);
161   }
gloablSizeFLATBUFFERS_FINAL_CLASS162   const flatbuffers::Vector<uint32_t> *gloablSize() const {
163     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_GLOABLSIZE);
164   }
localSizeFLATBUFFERS_FINAL_CLASS165   const flatbuffers::Vector<uint32_t> *localSize() const {
166     return GetPointer<const flatbuffers::Vector<uint32_t> *>(VT_LOCALSIZE);
167   }
timeCostFLATBUFFERS_FINAL_CLASS168   uint32_t timeCost() const {
169     return GetField<uint32_t>(VT_TIMECOST, 0);
170   }
VerifyFLATBUFFERS_FINAL_CLASS171   bool Verify(flatbuffers::Verifier &verifier) const {
172     return VerifyTableStart(verifier) &&
173            VerifyOffset(verifier, VT_KEY) &&
174            verifier.VerifyString(key()) &&
175            VerifyOffset(verifier, VT_GLOABLSIZE) &&
176            verifier.VerifyVector(gloablSize()) &&
177            VerifyOffset(verifier, VT_LOCALSIZE) &&
178            verifier.VerifyVector(localSize()) &&
179            VerifyField<uint32_t>(verifier, VT_TIMECOST) &&
180            verifier.EndTable();
181   }
182   AutotuningT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
183   void UnPackTo(AutotuningT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
184   static flatbuffers::Offset<Autotuning> Pack(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
185 };
186 
187 struct AutotuningBuilder {
188   flatbuffers::FlatBufferBuilder &fbb_;
189   flatbuffers::uoffset_t start_;
add_keyAutotuningBuilder190   void add_key(flatbuffers::Offset<flatbuffers::String> key) {
191     fbb_.AddOffset(Autotuning::VT_KEY, key);
192   }
add_gloablSizeAutotuningBuilder193   void add_gloablSize(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> gloablSize) {
194     fbb_.AddOffset(Autotuning::VT_GLOABLSIZE, gloablSize);
195   }
add_localSizeAutotuningBuilder196   void add_localSize(flatbuffers::Offset<flatbuffers::Vector<uint32_t>> localSize) {
197     fbb_.AddOffset(Autotuning::VT_LOCALSIZE, localSize);
198   }
add_timeCostAutotuningBuilder199   void add_timeCost(uint32_t timeCost) {
200     fbb_.AddElement<uint32_t>(Autotuning::VT_TIMECOST, timeCost, 0);
201   }
AutotuningBuilderAutotuningBuilder202   explicit AutotuningBuilder(flatbuffers::FlatBufferBuilder &_fbb)
203         : fbb_(_fbb) {
204     start_ = fbb_.StartTable();
205   }
206   AutotuningBuilder &operator=(const AutotuningBuilder &);
FinishAutotuningBuilder207   flatbuffers::Offset<Autotuning> Finish() {
208     const auto end = fbb_.EndTable(start_);
209     auto o = flatbuffers::Offset<Autotuning>(end);
210     return o;
211   }
212 };
213 
214 inline flatbuffers::Offset<Autotuning> CreateAutotuning(
215     flatbuffers::FlatBufferBuilder &_fbb,
216     flatbuffers::Offset<flatbuffers::String> key = 0,
217     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> gloablSize = 0,
218     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> localSize = 0,
219     uint32_t timeCost = 0) {
220   AutotuningBuilder builder_(_fbb);
221   builder_.add_timeCost(timeCost);
222   builder_.add_localSize(localSize);
223   builder_.add_gloablSize(gloablSize);
224   builder_.add_key(key);
225   return builder_.Finish();
226 }
227 
228 inline flatbuffers::Offset<Autotuning> CreateAutotuningDirect(
229     flatbuffers::FlatBufferBuilder &_fbb,
230     const char *key = nullptr,
231     const std::vector<uint32_t> *gloablSize = nullptr,
232     const std::vector<uint32_t> *localSize = nullptr,
233     uint32_t timeCost = 0) {
234   auto key__ = key ? _fbb.CreateString(key) : 0;
235   auto gloablSize__ = gloablSize ? _fbb.CreateVector<uint32_t>(*gloablSize) : 0;
236   auto localSize__ = localSize ? _fbb.CreateVector<uint32_t>(*localSize) : 0;
237   return CLCache::CreateAutotuning(
238       _fbb,
239       key__,
240       gloablSize__,
241       localSize__,
242       timeCost);
243 }
244 
245 flatbuffers::Offset<Autotuning> CreateAutotuning(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
246 
247 struct CacheT : public flatbuffers::NativeTable {
248   typedef Cache TableType;
249   std::vector<std::unique_ptr<ShaderT>> programs;
250   std::vector<std::unique_ptr<AutotuningT>> tunings;
CacheTCacheT251   CacheT() {
252   }
253 };
254 
255 struct Cache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
256   typedef CacheT NativeTableType;
MiniReflectTypeTableFLATBUFFERS_FINAL_CLASS257   static const flatbuffers::TypeTable *MiniReflectTypeTable() {
258     return CacheTypeTable();
259   }
260   enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
261     VT_PROGRAMS = 4,
262     VT_TUNINGS = 6
263   };
programsFLATBUFFERS_FINAL_CLASS264   const flatbuffers::Vector<flatbuffers::Offset<Shader>> *programs() const {
265     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Shader>> *>(VT_PROGRAMS);
266   }
tuningsFLATBUFFERS_FINAL_CLASS267   const flatbuffers::Vector<flatbuffers::Offset<Autotuning>> *tunings() const {
268     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Autotuning>> *>(VT_TUNINGS);
269   }
VerifyFLATBUFFERS_FINAL_CLASS270   bool Verify(flatbuffers::Verifier &verifier) const {
271     return VerifyTableStart(verifier) &&
272            VerifyOffset(verifier, VT_PROGRAMS) &&
273            verifier.VerifyVector(programs()) &&
274            verifier.VerifyVectorOfTables(programs()) &&
275            VerifyOffset(verifier, VT_TUNINGS) &&
276            verifier.VerifyVector(tunings()) &&
277            verifier.VerifyVectorOfTables(tunings()) &&
278            verifier.EndTable();
279   }
280   CacheT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
281   void UnPackTo(CacheT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const;
282   static flatbuffers::Offset<Cache> Pack(flatbuffers::FlatBufferBuilder &_fbb, const CacheT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
283 };
284 
285 struct CacheBuilder {
286   flatbuffers::FlatBufferBuilder &fbb_;
287   flatbuffers::uoffset_t start_;
add_programsCacheBuilder288   void add_programs(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Shader>>> programs) {
289     fbb_.AddOffset(Cache::VT_PROGRAMS, programs);
290   }
add_tuningsCacheBuilder291   void add_tunings(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Autotuning>>> tunings) {
292     fbb_.AddOffset(Cache::VT_TUNINGS, tunings);
293   }
CacheBuilderCacheBuilder294   explicit CacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
295         : fbb_(_fbb) {
296     start_ = fbb_.StartTable();
297   }
298   CacheBuilder &operator=(const CacheBuilder &);
FinishCacheBuilder299   flatbuffers::Offset<Cache> Finish() {
300     const auto end = fbb_.EndTable(start_);
301     auto o = flatbuffers::Offset<Cache>(end);
302     return o;
303   }
304 };
305 
306 inline flatbuffers::Offset<Cache> CreateCache(
307     flatbuffers::FlatBufferBuilder &_fbb,
308     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Shader>>> programs = 0,
309     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Autotuning>>> tunings = 0) {
310   CacheBuilder builder_(_fbb);
311   builder_.add_tunings(tunings);
312   builder_.add_programs(programs);
313   return builder_.Finish();
314 }
315 
316 inline flatbuffers::Offset<Cache> CreateCacheDirect(
317     flatbuffers::FlatBufferBuilder &_fbb,
318     const std::vector<flatbuffers::Offset<Shader>> *programs = nullptr,
319     const std::vector<flatbuffers::Offset<Autotuning>> *tunings = nullptr) {
320   auto programs__ = programs ? _fbb.CreateVector<flatbuffers::Offset<Shader>>(*programs) : 0;
321   auto tunings__ = tunings ? _fbb.CreateVector<flatbuffers::Offset<Autotuning>>(*tunings) : 0;
322   return CLCache::CreateCache(
323       _fbb,
324       programs__,
325       tunings__);
326 }
327 
328 flatbuffers::Offset<Cache> CreateCache(flatbuffers::FlatBufferBuilder &_fbb, const CacheT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
329 
UnPack(const flatbuffers::resolver_function_t * _resolver)330 inline ShaderT *Shader::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
331   auto _o = new ShaderT();
332   UnPackTo(_o, _resolver);
333   return _o;
334 }
335 
UnPackTo(ShaderT * _o,const flatbuffers::resolver_function_t * _resolver)336 inline void Shader::UnPackTo(ShaderT *_o, const flatbuffers::resolver_function_t *_resolver) const {
337   (void)_o;
338   (void)_resolver;
339   { auto _e = buffer(); if (_e) { _o->buffer.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->buffer[_i] = _e->Get(_i); } } };
340   { auto _e = program(); if (_e) _o->program = _e->str(); };
341   { auto _e = kernel(); if (_e) _o->kernel = _e->str(); };
342   { auto _e = buildInfo(); if (_e) _o->buildInfo = _e->str(); };
343 }
344 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const ShaderT * _o,const flatbuffers::rehasher_function_t * _rehasher)345 inline flatbuffers::Offset<Shader> Shader::Pack(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
346   return CreateShader(_fbb, _o, _rehasher);
347 }
348 
CreateShader(flatbuffers::FlatBufferBuilder & _fbb,const ShaderT * _o,const flatbuffers::rehasher_function_t * _rehasher)349 inline flatbuffers::Offset<Shader> CreateShader(flatbuffers::FlatBufferBuilder &_fbb, const ShaderT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
350   (void)_rehasher;
351   (void)_o;
352   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const ShaderT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
353   auto _buffer = _o->buffer.size() ? _fbb.CreateVector(_o->buffer) : 0;
354   auto _program = _o->program.empty() ? 0 : _fbb.CreateString(_o->program);
355   auto _kernel = _o->kernel.empty() ? 0 : _fbb.CreateString(_o->kernel);
356   auto _buildInfo = _o->buildInfo.empty() ? 0 : _fbb.CreateString(_o->buildInfo);
357   return CLCache::CreateShader(
358       _fbb,
359       _buffer,
360       _program,
361       _kernel,
362       _buildInfo);
363 }
364 
UnPack(const flatbuffers::resolver_function_t * _resolver)365 inline AutotuningT *Autotuning::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
366   auto _o = new AutotuningT();
367   UnPackTo(_o, _resolver);
368   return _o;
369 }
370 
UnPackTo(AutotuningT * _o,const flatbuffers::resolver_function_t * _resolver)371 inline void Autotuning::UnPackTo(AutotuningT *_o, const flatbuffers::resolver_function_t *_resolver) const {
372   (void)_o;
373   (void)_resolver;
374   { auto _e = key(); if (_e) _o->key = _e->str(); };
375   { auto _e = gloablSize(); if (_e) { _o->gloablSize.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->gloablSize[_i] = _e->Get(_i); } } };
376   { auto _e = localSize(); if (_e) { _o->localSize.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->localSize[_i] = _e->Get(_i); } } };
377   { auto _e = timeCost(); _o->timeCost = _e; };
378 }
379 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const AutotuningT * _o,const flatbuffers::rehasher_function_t * _rehasher)380 inline flatbuffers::Offset<Autotuning> Autotuning::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
381   return CreateAutotuning(_fbb, _o, _rehasher);
382 }
383 
CreateAutotuning(flatbuffers::FlatBufferBuilder & _fbb,const AutotuningT * _o,const flatbuffers::rehasher_function_t * _rehasher)384 inline flatbuffers::Offset<Autotuning> CreateAutotuning(flatbuffers::FlatBufferBuilder &_fbb, const AutotuningT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
385   (void)_rehasher;
386   (void)_o;
387   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AutotuningT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
388   auto _key = _o->key.empty() ? 0 : _fbb.CreateString(_o->key);
389   auto _gloablSize = _o->gloablSize.size() ? _fbb.CreateVector(_o->gloablSize) : 0;
390   auto _localSize = _o->localSize.size() ? _fbb.CreateVector(_o->localSize) : 0;
391   auto _timeCost = _o->timeCost;
392   return CLCache::CreateAutotuning(
393       _fbb,
394       _key,
395       _gloablSize,
396       _localSize,
397       _timeCost);
398 }
399 
UnPack(const flatbuffers::resolver_function_t * _resolver)400 inline CacheT *Cache::UnPack(const flatbuffers::resolver_function_t *_resolver) const {
401   auto _o = new CacheT();
402   UnPackTo(_o, _resolver);
403   return _o;
404 }
405 
UnPackTo(CacheT * _o,const flatbuffers::resolver_function_t * _resolver)406 inline void Cache::UnPackTo(CacheT *_o, const flatbuffers::resolver_function_t *_resolver) const {
407   (void)_o;
408   (void)_resolver;
409   { auto _e = programs(); if (_e) { _o->programs.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->programs[_i] = std::unique_ptr<ShaderT>(_e->Get(_i)->UnPack(_resolver)); } } };
410   { auto _e = tunings(); if (_e) { _o->tunings.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->tunings[_i] = std::unique_ptr<AutotuningT>(_e->Get(_i)->UnPack(_resolver)); } } };
411 }
412 
Pack(flatbuffers::FlatBufferBuilder & _fbb,const CacheT * _o,const flatbuffers::rehasher_function_t * _rehasher)413 inline flatbuffers::Offset<Cache> Cache::Pack(flatbuffers::FlatBufferBuilder &_fbb, const CacheT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
414   return CreateCache(_fbb, _o, _rehasher);
415 }
416 
CreateCache(flatbuffers::FlatBufferBuilder & _fbb,const CacheT * _o,const flatbuffers::rehasher_function_t * _rehasher)417 inline flatbuffers::Offset<Cache> CreateCache(flatbuffers::FlatBufferBuilder &_fbb, const CacheT *_o, const flatbuffers::rehasher_function_t *_rehasher) {
418   (void)_rehasher;
419   (void)_o;
420   struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const CacheT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va;
421   auto _programs = _o->programs.size() ? _fbb.CreateVector<flatbuffers::Offset<Shader>> (_o->programs.size(), [](size_t i, _VectorArgs *__va) { return CreateShader(*__va->__fbb, __va->__o->programs[i].get(), __va->__rehasher); }, &_va ) : 0;
422   auto _tunings = _o->tunings.size() ? _fbb.CreateVector<flatbuffers::Offset<Autotuning>> (_o->tunings.size(), [](size_t i, _VectorArgs *__va) { return CreateAutotuning(*__va->__fbb, __va->__o->tunings[i].get(), __va->__rehasher); }, &_va ) : 0;
423   return CLCache::CreateCache(
424       _fbb,
425       _programs,
426       _tunings);
427 }
428 
ShaderTypeTable()429 inline const flatbuffers::TypeTable *ShaderTypeTable() {
430   static const flatbuffers::TypeCode type_codes[] = {
431     { flatbuffers::ET_CHAR, 1, -1 },
432     { flatbuffers::ET_STRING, 0, -1 },
433     { flatbuffers::ET_STRING, 0, -1 },
434     { flatbuffers::ET_STRING, 0, -1 }
435   };
436   static const char * const names[] = {
437     "buffer",
438     "program",
439     "kernel",
440     "buildInfo"
441   };
442   static const flatbuffers::TypeTable tt = {
443     flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names
444   };
445   return &tt;
446 }
447 
AutotuningTypeTable()448 inline const flatbuffers::TypeTable *AutotuningTypeTable() {
449   static const flatbuffers::TypeCode type_codes[] = {
450     { flatbuffers::ET_STRING, 0, -1 },
451     { flatbuffers::ET_UINT, 1, -1 },
452     { flatbuffers::ET_UINT, 1, -1 },
453     { flatbuffers::ET_UINT, 0, -1 }
454   };
455   static const char * const names[] = {
456     "key",
457     "gloablSize",
458     "localSize",
459     "timeCost"
460   };
461   static const flatbuffers::TypeTable tt = {
462     flatbuffers::ST_TABLE, 4, type_codes, nullptr, nullptr, names
463   };
464   return &tt;
465 }
466 
CacheTypeTable()467 inline const flatbuffers::TypeTable *CacheTypeTable() {
468   static const flatbuffers::TypeCode type_codes[] = {
469     { flatbuffers::ET_SEQUENCE, 1, 0 },
470     { flatbuffers::ET_SEQUENCE, 1, 1 }
471   };
472   static const flatbuffers::TypeFunction type_refs[] = {
473     ShaderTypeTable,
474     AutotuningTypeTable
475   };
476   static const char * const names[] = {
477     "programs",
478     "tunings"
479   };
480   static const flatbuffers::TypeTable tt = {
481     flatbuffers::ST_TABLE, 2, type_codes, type_refs, nullptr, names
482   };
483   return &tt;
484 }
485 
GetCache(const void * buf)486 inline const CLCache::Cache *GetCache(const void *buf) {
487   return flatbuffers::GetRoot<CLCache::Cache>(buf);
488 }
489 
GetSizePrefixedCache(const void * buf)490 inline const CLCache::Cache *GetSizePrefixedCache(const void *buf) {
491   return flatbuffers::GetSizePrefixedRoot<CLCache::Cache>(buf);
492 }
493 
VerifyCacheBuffer(flatbuffers::Verifier & verifier)494 inline bool VerifyCacheBuffer(
495     flatbuffers::Verifier &verifier) {
496   return verifier.VerifyBuffer<CLCache::Cache>(nullptr);
497 }
498 
VerifySizePrefixedCacheBuffer(flatbuffers::Verifier & verifier)499 inline bool VerifySizePrefixedCacheBuffer(
500     flatbuffers::Verifier &verifier) {
501   return verifier.VerifySizePrefixedBuffer<CLCache::Cache>(nullptr);
502 }
503 
FinishCacheBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<CLCache::Cache> root)504 inline void FinishCacheBuffer(
505     flatbuffers::FlatBufferBuilder &fbb,
506     flatbuffers::Offset<CLCache::Cache> root) {
507   fbb.Finish(root);
508 }
509 
FinishSizePrefixedCacheBuffer(flatbuffers::FlatBufferBuilder & fbb,flatbuffers::Offset<CLCache::Cache> root)510 inline void FinishSizePrefixedCacheBuffer(
511     flatbuffers::FlatBufferBuilder &fbb,
512     flatbuffers::Offset<CLCache::Cache> root) {
513   fbb.FinishSizePrefixed(root);
514 }
515 
516 inline std::unique_ptr<CacheT> UnPackCache(
517     const void *buf,
518     const flatbuffers::resolver_function_t *res = nullptr) {
519   return std::unique_ptr<CacheT>(GetCache(buf)->UnPack(res));
520 }
521 
522 }  // namespace CLCache
523 
524 #endif  // FLATBUFFERS_GENERATED_CLCACHE_CLCACHE_H_
525