1-- automatically generated by the FlatBuffers compiler, do not modify
2
3-- namespace: Example
4
5local flatbuffers = require('flatbuffers')
6
7-- an example documentation comment: "monster object"
8local Monster = {} -- the module
9local Monster_mt = {} -- the class metatable
10
11function Monster.New()
12    local o = {}
13    setmetatable(o, {__index = Monster_mt})
14    return o
15end
16function Monster.GetRootAsMonster(buf, offset)
17    if type(buf) == "string" then
18        buf = flatbuffers.binaryArray.New(buf)
19    end
20    local n = flatbuffers.N.UOffsetT:Unpack(buf, offset)
21    local o = Monster.New()
22    o:Init(buf, n + offset)
23    return o
24end
25function Monster_mt:Init(buf, pos)
26    self.view = flatbuffers.view.New(buf, pos)
27end
28function Monster_mt:Pos()
29    local o = self.view:Offset(4)
30    if o ~= 0 then
31        local x = o + self.view.pos
32        local obj = require('MyGame.Example.Vec3').New()
33        obj:Init(self.view.bytes, x)
34        return obj
35    end
36end
37function Monster_mt:Mana()
38    local o = self.view:Offset(6)
39    if o ~= 0 then
40        return self.view:Get(flatbuffers.N.Int16, o + self.view.pos)
41    end
42    return 150
43end
44function Monster_mt:Hp()
45    local o = self.view:Offset(8)
46    if o ~= 0 then
47        return self.view:Get(flatbuffers.N.Int16, o + self.view.pos)
48    end
49    return 100
50end
51function Monster_mt:Name()
52    local o = self.view:Offset(10)
53    if o ~= 0 then
54        return self.view:String(o + self.view.pos)
55    end
56end
57function Monster_mt:Inventory(j)
58    local o = self.view:Offset(14)
59    if o ~= 0 then
60        local a = self.view:Vector(o)
61        return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
62    end
63    return 0
64end
65function Monster_mt:InventoryAsString(start, stop)
66    return self.view:VectorAsString(14, start, stop)
67end
68function Monster_mt:InventoryLength()
69    local o = self.view:Offset(14)
70    if o ~= 0 then
71        return self.view:VectorLen(o)
72    end
73    return 0
74end
75function Monster_mt:Color()
76    local o = self.view:Offset(16)
77    if o ~= 0 then
78        return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
79    end
80    return 8
81end
82function Monster_mt:TestType()
83    local o = self.view:Offset(18)
84    if o ~= 0 then
85        return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
86    end
87    return 0
88end
89function Monster_mt:Test()
90    local o = self.view:Offset(20)
91    if o ~= 0 then
92        local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
93        self.view:Union(obj, o)
94        return obj
95    end
96end
97function Monster_mt:Test4(j)
98    local o = self.view:Offset(22)
99    if o ~= 0 then
100        local x = self.view:Vector(o)
101        x = x + ((j-1) * 4)
102        local obj = require('MyGame.Example.Test').New()
103        obj:Init(self.view.bytes, x)
104        return obj
105    end
106end
107function Monster_mt:Test4Length()
108    local o = self.view:Offset(22)
109    if o ~= 0 then
110        return self.view:VectorLen(o)
111    end
112    return 0
113end
114function Monster_mt:Testarrayofstring(j)
115    local o = self.view:Offset(24)
116    if o ~= 0 then
117        local a = self.view:Vector(o)
118        return self.view:String(a + ((j-1) * 4))
119    end
120    return ''
121end
122function Monster_mt:TestarrayofstringLength()
123    local o = self.view:Offset(24)
124    if o ~= 0 then
125        return self.view:VectorLen(o)
126    end
127    return 0
128end
129-- an example documentation comment: this will end up in the generated code
130-- multiline too
131function Monster_mt:Testarrayoftables(j)
132    local o = self.view:Offset(26)
133    if o ~= 0 then
134        local x = self.view:Vector(o)
135        x = x + ((j-1) * 4)
136        x = self.view:Indirect(x)
137        local obj = require('MyGame.Example.Monster').New()
138        obj:Init(self.view.bytes, x)
139        return obj
140    end
141end
142function Monster_mt:TestarrayoftablesLength()
143    local o = self.view:Offset(26)
144    if o ~= 0 then
145        return self.view:VectorLen(o)
146    end
147    return 0
148end
149function Monster_mt:Enemy()
150    local o = self.view:Offset(28)
151    if o ~= 0 then
152        local x = self.view:Indirect(o + self.view.pos)
153        local obj = require('MyGame.Example.Monster').New()
154        obj:Init(self.view.bytes, x)
155        return obj
156    end
157end
158function Monster_mt:Testnestedflatbuffer(j)
159    local o = self.view:Offset(30)
160    if o ~= 0 then
161        local a = self.view:Vector(o)
162        return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
163    end
164    return 0
165end
166function Monster_mt:TestnestedflatbufferAsString(start, stop)
167    return self.view:VectorAsString(30, start, stop)
168end
169function Monster_mt:TestnestedflatbufferLength()
170    local o = self.view:Offset(30)
171    if o ~= 0 then
172        return self.view:VectorLen(o)
173    end
174    return 0
175end
176function Monster_mt:Testempty()
177    local o = self.view:Offset(32)
178    if o ~= 0 then
179        local x = self.view:Indirect(o + self.view.pos)
180        local obj = require('MyGame.Example.Stat').New()
181        obj:Init(self.view.bytes, x)
182        return obj
183    end
184end
185function Monster_mt:Testbool()
186    local o = self.view:Offset(34)
187    if o ~= 0 then
188        return (self.view:Get(flatbuffers.N.Bool, o + self.view.pos) ~= 0)
189    end
190    return false
191end
192function Monster_mt:Testhashs32Fnv1()
193    local o = self.view:Offset(36)
194    if o ~= 0 then
195        return self.view:Get(flatbuffers.N.Int32, o + self.view.pos)
196    end
197    return 0
198end
199function Monster_mt:Testhashu32Fnv1()
200    local o = self.view:Offset(38)
201    if o ~= 0 then
202        return self.view:Get(flatbuffers.N.Uint32, o + self.view.pos)
203    end
204    return 0
205end
206function Monster_mt:Testhashs64Fnv1()
207    local o = self.view:Offset(40)
208    if o ~= 0 then
209        return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
210    end
211    return 0
212end
213function Monster_mt:Testhashu64Fnv1()
214    local o = self.view:Offset(42)
215    if o ~= 0 then
216        return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
217    end
218    return 0
219end
220function Monster_mt:Testhashs32Fnv1a()
221    local o = self.view:Offset(44)
222    if o ~= 0 then
223        return self.view:Get(flatbuffers.N.Int32, o + self.view.pos)
224    end
225    return 0
226end
227function Monster_mt:Testhashu32Fnv1a()
228    local o = self.view:Offset(46)
229    if o ~= 0 then
230        return self.view:Get(flatbuffers.N.Uint32, o + self.view.pos)
231    end
232    return 0
233end
234function Monster_mt:Testhashs64Fnv1a()
235    local o = self.view:Offset(48)
236    if o ~= 0 then
237        return self.view:Get(flatbuffers.N.Int64, o + self.view.pos)
238    end
239    return 0
240end
241function Monster_mt:Testhashu64Fnv1a()
242    local o = self.view:Offset(50)
243    if o ~= 0 then
244        return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
245    end
246    return 0
247end
248function Monster_mt:Testarrayofbools(j)
249    local o = self.view:Offset(52)
250    if o ~= 0 then
251        local a = self.view:Vector(o)
252        return self.view:Get(flatbuffers.N.Bool, a + ((j-1) * 1))
253    end
254    return 0
255end
256function Monster_mt:TestarrayofboolsLength()
257    local o = self.view:Offset(52)
258    if o ~= 0 then
259        return self.view:VectorLen(o)
260    end
261    return 0
262end
263function Monster_mt:Testf()
264    local o = self.view:Offset(54)
265    if o ~= 0 then
266        return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
267    end
268    return 3.14159
269end
270function Monster_mt:Testf2()
271    local o = self.view:Offset(56)
272    if o ~= 0 then
273        return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
274    end
275    return 3.0
276end
277function Monster_mt:Testf3()
278    local o = self.view:Offset(58)
279    if o ~= 0 then
280        return self.view:Get(flatbuffers.N.Float32, o + self.view.pos)
281    end
282    return 0.0
283end
284function Monster_mt:Testarrayofstring2(j)
285    local o = self.view:Offset(60)
286    if o ~= 0 then
287        local a = self.view:Vector(o)
288        return self.view:String(a + ((j-1) * 4))
289    end
290    return ''
291end
292function Monster_mt:Testarrayofstring2Length()
293    local o = self.view:Offset(60)
294    if o ~= 0 then
295        return self.view:VectorLen(o)
296    end
297    return 0
298end
299function Monster_mt:Testarrayofsortedstruct(j)
300    local o = self.view:Offset(62)
301    if o ~= 0 then
302        local x = self.view:Vector(o)
303        x = x + ((j-1) * 8)
304        local obj = require('MyGame.Example.Ability').New()
305        obj:Init(self.view.bytes, x)
306        return obj
307    end
308end
309function Monster_mt:TestarrayofsortedstructLength()
310    local o = self.view:Offset(62)
311    if o ~= 0 then
312        return self.view:VectorLen(o)
313    end
314    return 0
315end
316function Monster_mt:Flex(j)
317    local o = self.view:Offset(64)
318    if o ~= 0 then
319        local a = self.view:Vector(o)
320        return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
321    end
322    return 0
323end
324function Monster_mt:FlexAsString(start, stop)
325    return self.view:VectorAsString(64, start, stop)
326end
327function Monster_mt:FlexLength()
328    local o = self.view:Offset(64)
329    if o ~= 0 then
330        return self.view:VectorLen(o)
331    end
332    return 0
333end
334function Monster_mt:Test5(j)
335    local o = self.view:Offset(66)
336    if o ~= 0 then
337        local x = self.view:Vector(o)
338        x = x + ((j-1) * 4)
339        local obj = require('MyGame.Example.Test').New()
340        obj:Init(self.view.bytes, x)
341        return obj
342    end
343end
344function Monster_mt:Test5Length()
345    local o = self.view:Offset(66)
346    if o ~= 0 then
347        return self.view:VectorLen(o)
348    end
349    return 0
350end
351function Monster_mt:VectorOfLongs(j)
352    local o = self.view:Offset(68)
353    if o ~= 0 then
354        local a = self.view:Vector(o)
355        return self.view:Get(flatbuffers.N.Int64, a + ((j-1) * 8))
356    end
357    return 0
358end
359function Monster_mt:VectorOfLongsLength()
360    local o = self.view:Offset(68)
361    if o ~= 0 then
362        return self.view:VectorLen(o)
363    end
364    return 0
365end
366function Monster_mt:VectorOfDoubles(j)
367    local o = self.view:Offset(70)
368    if o ~= 0 then
369        local a = self.view:Vector(o)
370        return self.view:Get(flatbuffers.N.Float64, a + ((j-1) * 8))
371    end
372    return 0
373end
374function Monster_mt:VectorOfDoublesLength()
375    local o = self.view:Offset(70)
376    if o ~= 0 then
377        return self.view:VectorLen(o)
378    end
379    return 0
380end
381function Monster_mt:ParentNamespaceTest()
382    local o = self.view:Offset(72)
383    if o ~= 0 then
384        local x = self.view:Indirect(o + self.view.pos)
385        local obj = require('MyGame.InParentNamespace').New()
386        obj:Init(self.view.bytes, x)
387        return obj
388    end
389end
390function Monster_mt:VectorOfReferrables(j)
391    local o = self.view:Offset(74)
392    if o ~= 0 then
393        local x = self.view:Vector(o)
394        x = x + ((j-1) * 4)
395        x = self.view:Indirect(x)
396        local obj = require('MyGame.Example.Referrable').New()
397        obj:Init(self.view.bytes, x)
398        return obj
399    end
400end
401function Monster_mt:VectorOfReferrablesLength()
402    local o = self.view:Offset(74)
403    if o ~= 0 then
404        return self.view:VectorLen(o)
405    end
406    return 0
407end
408function Monster_mt:SingleWeakReference()
409    local o = self.view:Offset(76)
410    if o ~= 0 then
411        return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
412    end
413    return 0
414end
415function Monster_mt:VectorOfWeakReferences(j)
416    local o = self.view:Offset(78)
417    if o ~= 0 then
418        local a = self.view:Vector(o)
419        return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
420    end
421    return 0
422end
423function Monster_mt:VectorOfWeakReferencesLength()
424    local o = self.view:Offset(78)
425    if o ~= 0 then
426        return self.view:VectorLen(o)
427    end
428    return 0
429end
430function Monster_mt:VectorOfStrongReferrables(j)
431    local o = self.view:Offset(80)
432    if o ~= 0 then
433        local x = self.view:Vector(o)
434        x = x + ((j-1) * 4)
435        x = self.view:Indirect(x)
436        local obj = require('MyGame.Example.Referrable').New()
437        obj:Init(self.view.bytes, x)
438        return obj
439    end
440end
441function Monster_mt:VectorOfStrongReferrablesLength()
442    local o = self.view:Offset(80)
443    if o ~= 0 then
444        return self.view:VectorLen(o)
445    end
446    return 0
447end
448function Monster_mt:CoOwningReference()
449    local o = self.view:Offset(82)
450    if o ~= 0 then
451        return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
452    end
453    return 0
454end
455function Monster_mt:VectorOfCoOwningReferences(j)
456    local o = self.view:Offset(84)
457    if o ~= 0 then
458        local a = self.view:Vector(o)
459        return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
460    end
461    return 0
462end
463function Monster_mt:VectorOfCoOwningReferencesLength()
464    local o = self.view:Offset(84)
465    if o ~= 0 then
466        return self.view:VectorLen(o)
467    end
468    return 0
469end
470function Monster_mt:NonOwningReference()
471    local o = self.view:Offset(86)
472    if o ~= 0 then
473        return self.view:Get(flatbuffers.N.Uint64, o + self.view.pos)
474    end
475    return 0
476end
477function Monster_mt:VectorOfNonOwningReferences(j)
478    local o = self.view:Offset(88)
479    if o ~= 0 then
480        local a = self.view:Vector(o)
481        return self.view:Get(flatbuffers.N.Uint64, a + ((j-1) * 8))
482    end
483    return 0
484end
485function Monster_mt:VectorOfNonOwningReferencesLength()
486    local o = self.view:Offset(88)
487    if o ~= 0 then
488        return self.view:VectorLen(o)
489    end
490    return 0
491end
492function Monster_mt:AnyUniqueType()
493    local o = self.view:Offset(90)
494    if o ~= 0 then
495        return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
496    end
497    return 0
498end
499function Monster_mt:AnyUnique()
500    local o = self.view:Offset(92)
501    if o ~= 0 then
502        local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
503        self.view:Union(obj, o)
504        return obj
505    end
506end
507function Monster_mt:AnyAmbiguousType()
508    local o = self.view:Offset(94)
509    if o ~= 0 then
510        return self.view:Get(flatbuffers.N.Uint8, o + self.view.pos)
511    end
512    return 0
513end
514function Monster_mt:AnyAmbiguous()
515    local o = self.view:Offset(96)
516    if o ~= 0 then
517        local obj = flatbuffers.view.New(require('flatbuffers.binaryarray').New(0), 0)
518        self.view:Union(obj, o)
519        return obj
520    end
521end
522function Monster_mt:VectorOfEnums(j)
523    local o = self.view:Offset(98)
524    if o ~= 0 then
525        local a = self.view:Vector(o)
526        return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
527    end
528    return 0
529end
530function Monster_mt:VectorOfEnumsAsString(start, stop)
531    return self.view:VectorAsString(98, start, stop)
532end
533function Monster_mt:VectorOfEnumsLength()
534    local o = self.view:Offset(98)
535    if o ~= 0 then
536        return self.view:VectorLen(o)
537    end
538    return 0
539end
540function Monster_mt:SignedEnum()
541    local o = self.view:Offset(100)
542    if o ~= 0 then
543        return self.view:Get(flatbuffers.N.Int8, o + self.view.pos)
544    end
545    return -1
546end
547function Monster_mt:Testrequirednestedflatbuffer(j)
548    local o = self.view:Offset(102)
549    if o ~= 0 then
550        local a = self.view:Vector(o)
551        return self.view:Get(flatbuffers.N.Uint8, a + ((j-1) * 1))
552    end
553    return 0
554end
555function Monster_mt:TestrequirednestedflatbufferAsString(start, stop)
556    return self.view:VectorAsString(102, start, stop)
557end
558function Monster_mt:TestrequirednestedflatbufferLength()
559    local o = self.view:Offset(102)
560    if o ~= 0 then
561        return self.view:VectorLen(o)
562    end
563    return 0
564end
565function Monster_mt:ScalarKeySortedTables(j)
566    local o = self.view:Offset(104)
567    if o ~= 0 then
568        local x = self.view:Vector(o)
569        x = x + ((j-1) * 4)
570        x = self.view:Indirect(x)
571        local obj = require('MyGame.Example.Stat').New()
572        obj:Init(self.view.bytes, x)
573        return obj
574    end
575end
576function Monster_mt:ScalarKeySortedTablesLength()
577    local o = self.view:Offset(104)
578    if o ~= 0 then
579        return self.view:VectorLen(o)
580    end
581    return 0
582end
583function Monster.Start(builder) builder:StartObject(51) end
584function Monster.AddPos(builder, pos) builder:PrependStructSlot(0, pos, 0) end
585function Monster.AddMana(builder, mana) builder:PrependInt16Slot(1, mana, 150) end
586function Monster.AddHp(builder, hp) builder:PrependInt16Slot(2, hp, 100) end
587function Monster.AddName(builder, name) builder:PrependUOffsetTRelativeSlot(3, name, 0) end
588function Monster.AddInventory(builder, inventory) builder:PrependUOffsetTRelativeSlot(5, inventory, 0) end
589function Monster.StartInventoryVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
590function Monster.AddColor(builder, color) builder:PrependUint8Slot(6, color, 8) end
591function Monster.AddTestType(builder, testType) builder:PrependUint8Slot(7, testType, 0) end
592function Monster.AddTest(builder, test) builder:PrependUOffsetTRelativeSlot(8, test, 0) end
593function Monster.AddTest4(builder, test4) builder:PrependUOffsetTRelativeSlot(9, test4, 0) end
594function Monster.StartTest4Vector(builder, numElems) return builder:StartVector(4, numElems, 2) end
595function Monster.AddTestarrayofstring(builder, testarrayofstring) builder:PrependUOffsetTRelativeSlot(10, testarrayofstring, 0) end
596function Monster.StartTestarrayofstringVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
597function Monster.AddTestarrayoftables(builder, testarrayoftables) builder:PrependUOffsetTRelativeSlot(11, testarrayoftables, 0) end
598function Monster.StartTestarrayoftablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
599function Monster.AddEnemy(builder, enemy) builder:PrependUOffsetTRelativeSlot(12, enemy, 0) end
600function Monster.AddTestnestedflatbuffer(builder, testnestedflatbuffer) builder:PrependUOffsetTRelativeSlot(13, testnestedflatbuffer, 0) end
601function Monster.StartTestnestedflatbufferVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
602function Monster.AddTestempty(builder, testempty) builder:PrependUOffsetTRelativeSlot(14, testempty, 0) end
603function Monster.AddTestbool(builder, testbool) builder:PrependBoolSlot(15, testbool, 0) end
604function Monster.AddTesthashs32Fnv1(builder, testhashs32Fnv1) builder:PrependInt32Slot(16, testhashs32Fnv1, 0) end
605function Monster.AddTesthashu32Fnv1(builder, testhashu32Fnv1) builder:PrependUint32Slot(17, testhashu32Fnv1, 0) end
606function Monster.AddTesthashs64Fnv1(builder, testhashs64Fnv1) builder:PrependInt64Slot(18, testhashs64Fnv1, 0) end
607function Monster.AddTesthashu64Fnv1(builder, testhashu64Fnv1) builder:PrependUint64Slot(19, testhashu64Fnv1, 0) end
608function Monster.AddTesthashs32Fnv1a(builder, testhashs32Fnv1a) builder:PrependInt32Slot(20, testhashs32Fnv1a, 0) end
609function Monster.AddTesthashu32Fnv1a(builder, testhashu32Fnv1a) builder:PrependUint32Slot(21, testhashu32Fnv1a, 0) end
610function Monster.AddTesthashs64Fnv1a(builder, testhashs64Fnv1a) builder:PrependInt64Slot(22, testhashs64Fnv1a, 0) end
611function Monster.AddTesthashu64Fnv1a(builder, testhashu64Fnv1a) builder:PrependUint64Slot(23, testhashu64Fnv1a, 0) end
612function Monster.AddTestarrayofbools(builder, testarrayofbools) builder:PrependUOffsetTRelativeSlot(24, testarrayofbools, 0) end
613function Monster.StartTestarrayofboolsVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
614function Monster.AddTestf(builder, testf) builder:PrependFloat32Slot(25, testf, 3.14159) end
615function Monster.AddTestf2(builder, testf2) builder:PrependFloat32Slot(26, testf2, 3.0) end
616function Monster.AddTestf3(builder, testf3) builder:PrependFloat32Slot(27, testf3, 0.0) end
617function Monster.AddTestarrayofstring2(builder, testarrayofstring2) builder:PrependUOffsetTRelativeSlot(28, testarrayofstring2, 0) end
618function Monster.StartTestarrayofstring2Vector(builder, numElems) return builder:StartVector(4, numElems, 4) end
619function Monster.AddTestarrayofsortedstruct(builder, testarrayofsortedstruct) builder:PrependUOffsetTRelativeSlot(29, testarrayofsortedstruct, 0) end
620function Monster.StartTestarrayofsortedstructVector(builder, numElems) return builder:StartVector(8, numElems, 4) end
621function Monster.AddFlex(builder, flex) builder:PrependUOffsetTRelativeSlot(30, flex, 0) end
622function Monster.StartFlexVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
623function Monster.AddTest5(builder, test5) builder:PrependUOffsetTRelativeSlot(31, test5, 0) end
624function Monster.StartTest5Vector(builder, numElems) return builder:StartVector(4, numElems, 2) end
625function Monster.AddVectorOfLongs(builder, vectorOfLongs) builder:PrependUOffsetTRelativeSlot(32, vectorOfLongs, 0) end
626function Monster.StartVectorOfLongsVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
627function Monster.AddVectorOfDoubles(builder, vectorOfDoubles) builder:PrependUOffsetTRelativeSlot(33, vectorOfDoubles, 0) end
628function Monster.StartVectorOfDoublesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
629function Monster.AddParentNamespaceTest(builder, parentNamespaceTest) builder:PrependUOffsetTRelativeSlot(34, parentNamespaceTest, 0) end
630function Monster.AddVectorOfReferrables(builder, vectorOfReferrables) builder:PrependUOffsetTRelativeSlot(35, vectorOfReferrables, 0) end
631function Monster.StartVectorOfReferrablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
632function Monster.AddSingleWeakReference(builder, singleWeakReference) builder:PrependUint64Slot(36, singleWeakReference, 0) end
633function Monster.AddVectorOfWeakReferences(builder, vectorOfWeakReferences) builder:PrependUOffsetTRelativeSlot(37, vectorOfWeakReferences, 0) end
634function Monster.StartVectorOfWeakReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
635function Monster.AddVectorOfStrongReferrables(builder, vectorOfStrongReferrables) builder:PrependUOffsetTRelativeSlot(38, vectorOfStrongReferrables, 0) end
636function Monster.StartVectorOfStrongReferrablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
637function Monster.AddCoOwningReference(builder, coOwningReference) builder:PrependUint64Slot(39, coOwningReference, 0) end
638function Monster.AddVectorOfCoOwningReferences(builder, vectorOfCoOwningReferences) builder:PrependUOffsetTRelativeSlot(40, vectorOfCoOwningReferences, 0) end
639function Monster.StartVectorOfCoOwningReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
640function Monster.AddNonOwningReference(builder, nonOwningReference) builder:PrependUint64Slot(41, nonOwningReference, 0) end
641function Monster.AddVectorOfNonOwningReferences(builder, vectorOfNonOwningReferences) builder:PrependUOffsetTRelativeSlot(42, vectorOfNonOwningReferences, 0) end
642function Monster.StartVectorOfNonOwningReferencesVector(builder, numElems) return builder:StartVector(8, numElems, 8) end
643function Monster.AddAnyUniqueType(builder, anyUniqueType) builder:PrependUint8Slot(43, anyUniqueType, 0) end
644function Monster.AddAnyUnique(builder, anyUnique) builder:PrependUOffsetTRelativeSlot(44, anyUnique, 0) end
645function Monster.AddAnyAmbiguousType(builder, anyAmbiguousType) builder:PrependUint8Slot(45, anyAmbiguousType, 0) end
646function Monster.AddAnyAmbiguous(builder, anyAmbiguous) builder:PrependUOffsetTRelativeSlot(46, anyAmbiguous, 0) end
647function Monster.AddVectorOfEnums(builder, vectorOfEnums) builder:PrependUOffsetTRelativeSlot(47, vectorOfEnums, 0) end
648function Monster.StartVectorOfEnumsVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
649function Monster.AddSignedEnum(builder, signedEnum) builder:PrependInt8Slot(48, signedEnum, -1) end
650function Monster.AddTestrequirednestedflatbuffer(builder, testrequirednestedflatbuffer) builder:PrependUOffsetTRelativeSlot(49, testrequirednestedflatbuffer, 0) end
651function Monster.StartTestrequirednestedflatbufferVector(builder, numElems) return builder:StartVector(1, numElems, 1) end
652function Monster.AddScalarKeySortedTables(builder, scalarKeySortedTables) builder:PrependUOffsetTRelativeSlot(50, scalarKeySortedTables, 0) end
653function Monster.StartScalarKeySortedTablesVector(builder, numElems) return builder:StartVector(4, numElems, 4) end
654function Monster.End(builder) return builder:EndObject() end
655
656return Monster -- return the module