xref: /aosp_15_r20/external/flatbuffers/tests/MyGame/Example/Monster.php (revision 890232f25432b36107d06881e0a25aaa6b473652)
1<?php
2// automatically generated by the FlatBuffers compiler, do not modify
3
4namespace MyGame\Example;
5
6use \Google\FlatBuffers\Struct;
7use \Google\FlatBuffers\Table;
8use \Google\FlatBuffers\ByteBuffer;
9use \Google\FlatBuffers\FlatBufferBuilder;
10
11/// an example documentation comment: "monster object"
12class Monster extends Table
13{
14    /**
15     * @param ByteBuffer $bb
16     * @return Monster
17     */
18    public static function getRootAsMonster(ByteBuffer $bb)
19    {
20        $obj = new Monster();
21        return ($obj->init($bb->getInt($bb->getPosition()) + $bb->getPosition(), $bb));
22    }
23
24    public static function MonsterIdentifier()
25    {
26        return "MONS";
27    }
28
29    public static function MonsterBufferHasIdentifier(ByteBuffer $buf)
30    {
31        return self::__has_identifier($buf, self::MonsterIdentifier());
32    }
33
34    public static function MonsterExtension()
35    {
36        return "mon";
37    }
38
39    /**
40     * @param int $_i offset
41     * @param ByteBuffer $_bb
42     * @return Monster
43     **/
44    public function init($_i, ByteBuffer $_bb)
45    {
46        $this->bb_pos = $_i;
47        $this->bb = $_bb;
48        return $this;
49    }
50
51    public function getPos()
52    {
53        $obj = new Vec3();
54        $o = $this->__offset(4);
55        return $o != 0 ? $obj->init($o + $this->bb_pos, $this->bb) : 0;
56    }
57
58    /**
59     * @return short
60     */
61    public function getMana()
62    {
63        $o = $this->__offset(6);
64        return $o != 0 ? $this->bb->getShort($o + $this->bb_pos) : 150;
65    }
66
67    /**
68     * @return short
69     */
70    public function getHp()
71    {
72        $o = $this->__offset(8);
73        return $o != 0 ? $this->bb->getShort($o + $this->bb_pos) : 100;
74    }
75
76    public function getName()
77    {
78        $o = $this->__offset(10);
79        return $o != 0 ? $this->__string($o + $this->bb_pos) : null;
80    }
81
82    /**
83     * @param int offset
84     * @return byte
85     */
86    public function getInventory($j)
87    {
88        $o = $this->__offset(14);
89        return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : 0;
90    }
91
92    /**
93     * @return int
94     */
95    public function getInventoryLength()
96    {
97        $o = $this->__offset(14);
98        return $o != 0 ? $this->__vector_len($o) : 0;
99    }
100
101    /**
102     * @return string
103     */
104    public function getInventoryBytes()
105    {
106        return $this->__vector_as_bytes(14);
107    }
108
109    /**
110     * @return byte
111     */
112    public function getColor()
113    {
114        $o = $this->__offset(16);
115        return $o != 0 ? $this->bb->getByte($o + $this->bb_pos) : \MyGame\Example\Color::Blue;
116    }
117
118    /**
119     * @return byte
120     */
121    public function getTestType()
122    {
123        $o = $this->__offset(18);
124        return $o != 0 ? $this->bb->getByte($o + $this->bb_pos) : \MyGame\Example\Any::NONE;
125    }
126
127    /**
128     * @returnint
129     */
130    public function getTest($obj)
131    {
132        $o = $this->__offset(20);
133        return $o != 0 ? $this->__union($obj, $o) : null;
134    }
135
136    /**
137     * @returnVectorOffset
138     */
139    public function getTest4($j)
140    {
141        $o = $this->__offset(22);
142        $obj = new Test();
143        return $o != 0 ? $obj->init($this->__vector($o) + $j *4, $this->bb) : null;
144    }
145
146    /**
147     * @return int
148     */
149    public function getTest4Length()
150    {
151        $o = $this->__offset(22);
152        return $o != 0 ? $this->__vector_len($o) : 0;
153    }
154
155    /**
156     * @param int offset
157     * @return string
158     */
159    public function getTestarrayofstring($j)
160    {
161        $o = $this->__offset(24);
162        return $o != 0 ? $this->__string($this->__vector($o) + $j * 4) : 0;
163    }
164
165    /**
166     * @return int
167     */
168    public function getTestarrayofstringLength()
169    {
170        $o = $this->__offset(24);
171        return $o != 0 ? $this->__vector_len($o) : 0;
172    }
173
174    /// an example documentation comment: this will end up in the generated code
175    /// multiline too
176    /**
177     * @returnVectorOffset
178     */
179    public function getTestarrayoftables($j)
180    {
181        $o = $this->__offset(26);
182        $obj = new Monster();
183        return $o != 0 ? $obj->init($this->__indirect($this->__vector($o) + $j * 4), $this->bb) : null;
184    }
185
186    /**
187     * @return int
188     */
189    public function getTestarrayoftablesLength()
190    {
191        $o = $this->__offset(26);
192        return $o != 0 ? $this->__vector_len($o) : 0;
193    }
194
195    public function getEnemy()
196    {
197        $obj = new Monster();
198        $o = $this->__offset(28);
199        return $o != 0 ? $obj->init($this->__indirect($o + $this->bb_pos), $this->bb) : 0;
200    }
201
202    /**
203     * @param int offset
204     * @return byte
205     */
206    public function getTestnestedflatbuffer($j)
207    {
208        $o = $this->__offset(30);
209        return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : 0;
210    }
211
212    /**
213     * @return int
214     */
215    public function getTestnestedflatbufferLength()
216    {
217        $o = $this->__offset(30);
218        return $o != 0 ? $this->__vector_len($o) : 0;
219    }
220
221    /**
222     * @return string
223     */
224    public function getTestnestedflatbufferBytes()
225    {
226        return $this->__vector_as_bytes(30);
227    }
228
229    public function getTestempty()
230    {
231        $obj = new Stat();
232        $o = $this->__offset(32);
233        return $o != 0 ? $obj->init($this->__indirect($o + $this->bb_pos), $this->bb) : 0;
234    }
235
236    /**
237     * @return bool
238     */
239    public function getTestbool()
240    {
241        $o = $this->__offset(34);
242        return $o != 0 ? $this->bb->getBool($o + $this->bb_pos) : false;
243    }
244
245    /**
246     * @return int
247     */
248    public function getTesthashs32Fnv1()
249    {
250        $o = $this->__offset(36);
251        return $o != 0 ? $this->bb->getInt($o + $this->bb_pos) : 0;
252    }
253
254    /**
255     * @return uint
256     */
257    public function getTesthashu32Fnv1()
258    {
259        $o = $this->__offset(38);
260        return $o != 0 ? $this->bb->getUint($o + $this->bb_pos) : 0;
261    }
262
263    /**
264     * @return long
265     */
266    public function getTesthashs64Fnv1()
267    {
268        $o = $this->__offset(40);
269        return $o != 0 ? $this->bb->getLong($o + $this->bb_pos) : 0;
270    }
271
272    /**
273     * @return ulong
274     */
275    public function getTesthashu64Fnv1()
276    {
277        $o = $this->__offset(42);
278        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
279    }
280
281    /**
282     * @return int
283     */
284    public function getTesthashs32Fnv1a()
285    {
286        $o = $this->__offset(44);
287        return $o != 0 ? $this->bb->getInt($o + $this->bb_pos) : 0;
288    }
289
290    /**
291     * @return uint
292     */
293    public function getTesthashu32Fnv1a()
294    {
295        $o = $this->__offset(46);
296        return $o != 0 ? $this->bb->getUint($o + $this->bb_pos) : 0;
297    }
298
299    /**
300     * @return long
301     */
302    public function getTesthashs64Fnv1a()
303    {
304        $o = $this->__offset(48);
305        return $o != 0 ? $this->bb->getLong($o + $this->bb_pos) : 0;
306    }
307
308    /**
309     * @return ulong
310     */
311    public function getTesthashu64Fnv1a()
312    {
313        $o = $this->__offset(50);
314        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
315    }
316
317    /**
318     * @param int offset
319     * @return bool
320     */
321    public function getTestarrayofbools($j)
322    {
323        $o = $this->__offset(52);
324        return $o != 0 ? $this->bb->getBool($this->__vector($o) + $j * 1) : 0;
325    }
326
327    /**
328     * @return int
329     */
330    public function getTestarrayofboolsLength()
331    {
332        $o = $this->__offset(52);
333        return $o != 0 ? $this->__vector_len($o) : 0;
334    }
335
336    /**
337     * @return float
338     */
339    public function getTestf()
340    {
341        $o = $this->__offset(54);
342        return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : 3.14159;
343    }
344
345    /**
346     * @return float
347     */
348    public function getTestf2()
349    {
350        $o = $this->__offset(56);
351        return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : 3.0;
352    }
353
354    /**
355     * @return float
356     */
357    public function getTestf3()
358    {
359        $o = $this->__offset(58);
360        return $o != 0 ? $this->bb->getFloat($o + $this->bb_pos) : 0.0;
361    }
362
363    /**
364     * @param int offset
365     * @return string
366     */
367    public function getTestarrayofstring2($j)
368    {
369        $o = $this->__offset(60);
370        return $o != 0 ? $this->__string($this->__vector($o) + $j * 4) : 0;
371    }
372
373    /**
374     * @return int
375     */
376    public function getTestarrayofstring2Length()
377    {
378        $o = $this->__offset(60);
379        return $o != 0 ? $this->__vector_len($o) : 0;
380    }
381
382    /**
383     * @returnVectorOffset
384     */
385    public function getTestarrayofsortedstruct($j)
386    {
387        $o = $this->__offset(62);
388        $obj = new Ability();
389        return $o != 0 ? $obj->init($this->__vector($o) + $j *8, $this->bb) : null;
390    }
391
392    /**
393     * @return int
394     */
395    public function getTestarrayofsortedstructLength()
396    {
397        $o = $this->__offset(62);
398        return $o != 0 ? $this->__vector_len($o) : 0;
399    }
400
401    /**
402     * @param int offset
403     * @return byte
404     */
405    public function getFlex($j)
406    {
407        $o = $this->__offset(64);
408        return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : 0;
409    }
410
411    /**
412     * @return int
413     */
414    public function getFlexLength()
415    {
416        $o = $this->__offset(64);
417        return $o != 0 ? $this->__vector_len($o) : 0;
418    }
419
420    /**
421     * @return string
422     */
423    public function getFlexBytes()
424    {
425        return $this->__vector_as_bytes(64);
426    }
427
428    /**
429     * @returnVectorOffset
430     */
431    public function getTest5($j)
432    {
433        $o = $this->__offset(66);
434        $obj = new Test();
435        return $o != 0 ? $obj->init($this->__vector($o) + $j *4, $this->bb) : null;
436    }
437
438    /**
439     * @return int
440     */
441    public function getTest5Length()
442    {
443        $o = $this->__offset(66);
444        return $o != 0 ? $this->__vector_len($o) : 0;
445    }
446
447    /**
448     * @param int offset
449     * @return long
450     */
451    public function getVectorOfLongs($j)
452    {
453        $o = $this->__offset(68);
454        return $o != 0 ? $this->bb->getLong($this->__vector($o) + $j * 8) : 0;
455    }
456
457    /**
458     * @return int
459     */
460    public function getVectorOfLongsLength()
461    {
462        $o = $this->__offset(68);
463        return $o != 0 ? $this->__vector_len($o) : 0;
464    }
465
466    /**
467     * @param int offset
468     * @return double
469     */
470    public function getVectorOfDoubles($j)
471    {
472        $o = $this->__offset(70);
473        return $o != 0 ? $this->bb->getDouble($this->__vector($o) + $j * 8) : 0;
474    }
475
476    /**
477     * @return int
478     */
479    public function getVectorOfDoublesLength()
480    {
481        $o = $this->__offset(70);
482        return $o != 0 ? $this->__vector_len($o) : 0;
483    }
484
485    public function getParentNamespaceTest()
486    {
487        $obj = new InParentNamespace();
488        $o = $this->__offset(72);
489        return $o != 0 ? $obj->init($this->__indirect($o + $this->bb_pos), $this->bb) : 0;
490    }
491
492    /**
493     * @returnVectorOffset
494     */
495    public function getVectorOfReferrables($j)
496    {
497        $o = $this->__offset(74);
498        $obj = new Referrable();
499        return $o != 0 ? $obj->init($this->__indirect($this->__vector($o) + $j * 4), $this->bb) : null;
500    }
501
502    /**
503     * @return int
504     */
505    public function getVectorOfReferrablesLength()
506    {
507        $o = $this->__offset(74);
508        return $o != 0 ? $this->__vector_len($o) : 0;
509    }
510
511    /**
512     * @return ulong
513     */
514    public function getSingleWeakReference()
515    {
516        $o = $this->__offset(76);
517        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
518    }
519
520    /**
521     * @param int offset
522     * @return ulong
523     */
524    public function getVectorOfWeakReferences($j)
525    {
526        $o = $this->__offset(78);
527        return $o != 0 ? $this->bb->getUlong($this->__vector($o) + $j * 8) : 0;
528    }
529
530    /**
531     * @return int
532     */
533    public function getVectorOfWeakReferencesLength()
534    {
535        $o = $this->__offset(78);
536        return $o != 0 ? $this->__vector_len($o) : 0;
537    }
538
539    /**
540     * @returnVectorOffset
541     */
542    public function getVectorOfStrongReferrables($j)
543    {
544        $o = $this->__offset(80);
545        $obj = new Referrable();
546        return $o != 0 ? $obj->init($this->__indirect($this->__vector($o) + $j * 4), $this->bb) : null;
547    }
548
549    /**
550     * @return int
551     */
552    public function getVectorOfStrongReferrablesLength()
553    {
554        $o = $this->__offset(80);
555        return $o != 0 ? $this->__vector_len($o) : 0;
556    }
557
558    /**
559     * @return ulong
560     */
561    public function getCoOwningReference()
562    {
563        $o = $this->__offset(82);
564        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
565    }
566
567    /**
568     * @param int offset
569     * @return ulong
570     */
571    public function getVectorOfCoOwningReferences($j)
572    {
573        $o = $this->__offset(84);
574        return $o != 0 ? $this->bb->getUlong($this->__vector($o) + $j * 8) : 0;
575    }
576
577    /**
578     * @return int
579     */
580    public function getVectorOfCoOwningReferencesLength()
581    {
582        $o = $this->__offset(84);
583        return $o != 0 ? $this->__vector_len($o) : 0;
584    }
585
586    /**
587     * @return ulong
588     */
589    public function getNonOwningReference()
590    {
591        $o = $this->__offset(86);
592        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
593    }
594
595    /**
596     * @param int offset
597     * @return ulong
598     */
599    public function getVectorOfNonOwningReferences($j)
600    {
601        $o = $this->__offset(88);
602        return $o != 0 ? $this->bb->getUlong($this->__vector($o) + $j * 8) : 0;
603    }
604
605    /**
606     * @return int
607     */
608    public function getVectorOfNonOwningReferencesLength()
609    {
610        $o = $this->__offset(88);
611        return $o != 0 ? $this->__vector_len($o) : 0;
612    }
613
614    /**
615     * @return byte
616     */
617    public function getAnyUniqueType()
618    {
619        $o = $this->__offset(90);
620        return $o != 0 ? $this->bb->getByte($o + $this->bb_pos) : \MyGame\Example\AnyUniqueAliases::NONE;
621    }
622
623    /**
624     * @returnint
625     */
626    public function getAnyUnique($obj)
627    {
628        $o = $this->__offset(92);
629        return $o != 0 ? $this->__union($obj, $o) : null;
630    }
631
632    /**
633     * @return byte
634     */
635    public function getAnyAmbiguousType()
636    {
637        $o = $this->__offset(94);
638        return $o != 0 ? $this->bb->getByte($o + $this->bb_pos) : \MyGame\Example\AnyAmbiguousAliases::NONE;
639    }
640
641    /**
642     * @returnint
643     */
644    public function getAnyAmbiguous($obj)
645    {
646        $o = $this->__offset(96);
647        return $o != 0 ? $this->__union($obj, $o) : null;
648    }
649
650    /**
651     * @param int offset
652     * @return byte
653     */
654    public function getVectorOfEnums($j)
655    {
656        $o = $this->__offset(98);
657        return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : 0;
658    }
659
660    /**
661     * @return int
662     */
663    public function getVectorOfEnumsLength()
664    {
665        $o = $this->__offset(98);
666        return $o != 0 ? $this->__vector_len($o) : 0;
667    }
668
669    /**
670     * @return string
671     */
672    public function getVectorOfEnumsBytes()
673    {
674        return $this->__vector_as_bytes(98);
675    }
676
677    /**
678     * @return sbyte
679     */
680    public function getSignedEnum()
681    {
682        $o = $this->__offset(100);
683        return $o != 0 ? $this->bb->getSbyte($o + $this->bb_pos) : \MyGame\Example\Race::None;
684    }
685
686    /**
687     * @param int offset
688     * @return byte
689     */
690    public function getTestrequirednestedflatbuffer($j)
691    {
692        $o = $this->__offset(102);
693        return $o != 0 ? $this->bb->getByte($this->__vector($o) + $j * 1) : 0;
694    }
695
696    /**
697     * @return int
698     */
699    public function getTestrequirednestedflatbufferLength()
700    {
701        $o = $this->__offset(102);
702        return $o != 0 ? $this->__vector_len($o) : 0;
703    }
704
705    /**
706     * @return string
707     */
708    public function getTestrequirednestedflatbufferBytes()
709    {
710        return $this->__vector_as_bytes(102);
711    }
712
713    /**
714     * @returnVectorOffset
715     */
716    public function getScalarKeySortedTables($j)
717    {
718        $o = $this->__offset(104);
719        $obj = new Stat();
720        return $o != 0 ? $obj->init($this->__indirect($this->__vector($o) + $j * 4), $this->bb) : null;
721    }
722
723    /**
724     * @return int
725     */
726    public function getScalarKeySortedTablesLength()
727    {
728        $o = $this->__offset(104);
729        return $o != 0 ? $this->__vector_len($o) : 0;
730    }
731
732    public function getNativeInline()
733    {
734        $obj = new Test();
735        $o = $this->__offset(106);
736        return $o != 0 ? $obj->init($o + $this->bb_pos, $this->bb) : 0;
737    }
738
739    /**
740     * @return ulong
741     */
742    public function getLongEnumNonEnumDefault()
743    {
744        $o = $this->__offset(108);
745        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : 0;
746    }
747
748    /**
749     * @return ulong
750     */
751    public function getLongEnumNormalDefault()
752    {
753        $o = $this->__offset(110);
754        return $o != 0 ? $this->bb->getUlong($o + $this->bb_pos) : \MyGame\Example\LongEnum::LongOne;
755    }
756
757    /**
758     * @param FlatBufferBuilder $builder
759     * @return void
760     */
761    public static function startMonster(FlatBufferBuilder $builder)
762    {
763        $builder->StartObject(54);
764    }
765
766    /**
767     * @param FlatBufferBuilder $builder
768     * @return Monster
769     */
770    public static function createMonster(FlatBufferBuilder $builder, $pos, $mana, $hp, $name, $inventory, $color, $test_type, $test, $test4, $testarrayofstring, $testarrayoftables, $enemy, $testnestedflatbuffer, $testempty, $testbool, $testhashs32_fnv1, $testhashu32_fnv1, $testhashs64_fnv1, $testhashu64_fnv1, $testhashs32_fnv1a, $testhashu32_fnv1a, $testhashs64_fnv1a, $testhashu64_fnv1a, $testarrayofbools, $testf, $testf2, $testf3, $testarrayofstring2, $testarrayofsortedstruct, $flex, $test5, $vector_of_longs, $vector_of_doubles, $parent_namespace_test, $vector_of_referrables, $single_weak_reference, $vector_of_weak_references, $vector_of_strong_referrables, $co_owning_reference, $vector_of_co_owning_references, $non_owning_reference, $vector_of_non_owning_references, $any_unique_type, $any_unique, $any_ambiguous_type, $any_ambiguous, $vector_of_enums, $signed_enum, $testrequirednestedflatbuffer, $scalar_key_sorted_tables, $native_inline, $long_enum_non_enum_default, $long_enum_normal_default)
771    {
772        $builder->startObject(54);
773        self::addPos($builder, $pos);
774        self::addMana($builder, $mana);
775        self::addHp($builder, $hp);
776        self::addName($builder, $name);
777        self::addInventory($builder, $inventory);
778        self::addColor($builder, $color);
779        self::addTestType($builder, $test_type);
780        self::addTest($builder, $test);
781        self::addTest4($builder, $test4);
782        self::addTestarrayofstring($builder, $testarrayofstring);
783        self::addTestarrayoftables($builder, $testarrayoftables);
784        self::addEnemy($builder, $enemy);
785        self::addTestnestedflatbuffer($builder, $testnestedflatbuffer);
786        self::addTestempty($builder, $testempty);
787        self::addTestbool($builder, $testbool);
788        self::addTesthashs32Fnv1($builder, $testhashs32_fnv1);
789        self::addTesthashu32Fnv1($builder, $testhashu32_fnv1);
790        self::addTesthashs64Fnv1($builder, $testhashs64_fnv1);
791        self::addTesthashu64Fnv1($builder, $testhashu64_fnv1);
792        self::addTesthashs32Fnv1a($builder, $testhashs32_fnv1a);
793        self::addTesthashu32Fnv1a($builder, $testhashu32_fnv1a);
794        self::addTesthashs64Fnv1a($builder, $testhashs64_fnv1a);
795        self::addTesthashu64Fnv1a($builder, $testhashu64_fnv1a);
796        self::addTestarrayofbools($builder, $testarrayofbools);
797        self::addTestf($builder, $testf);
798        self::addTestf2($builder, $testf2);
799        self::addTestf3($builder, $testf3);
800        self::addTestarrayofstring2($builder, $testarrayofstring2);
801        self::addTestarrayofsortedstruct($builder, $testarrayofsortedstruct);
802        self::addFlex($builder, $flex);
803        self::addTest5($builder, $test5);
804        self::addVectorOfLongs($builder, $vector_of_longs);
805        self::addVectorOfDoubles($builder, $vector_of_doubles);
806        self::addParentNamespaceTest($builder, $parent_namespace_test);
807        self::addVectorOfReferrables($builder, $vector_of_referrables);
808        self::addSingleWeakReference($builder, $single_weak_reference);
809        self::addVectorOfWeakReferences($builder, $vector_of_weak_references);
810        self::addVectorOfStrongReferrables($builder, $vector_of_strong_referrables);
811        self::addCoOwningReference($builder, $co_owning_reference);
812        self::addVectorOfCoOwningReferences($builder, $vector_of_co_owning_references);
813        self::addNonOwningReference($builder, $non_owning_reference);
814        self::addVectorOfNonOwningReferences($builder, $vector_of_non_owning_references);
815        self::addAnyUniqueType($builder, $any_unique_type);
816        self::addAnyUnique($builder, $any_unique);
817        self::addAnyAmbiguousType($builder, $any_ambiguous_type);
818        self::addAnyAmbiguous($builder, $any_ambiguous);
819        self::addVectorOfEnums($builder, $vector_of_enums);
820        self::addSignedEnum($builder, $signed_enum);
821        self::addTestrequirednestedflatbuffer($builder, $testrequirednestedflatbuffer);
822        self::addScalarKeySortedTables($builder, $scalar_key_sorted_tables);
823        self::addNativeInline($builder, $native_inline);
824        self::addLongEnumNonEnumDefault($builder, $long_enum_non_enum_default);
825        self::addLongEnumNormalDefault($builder, $long_enum_normal_default);
826        $o = $builder->endObject();
827        $builder->required($o, 10);  // name
828        return $o;
829    }
830
831    /**
832     * @param FlatBufferBuilder $builder
833     * @param int
834     * @return void
835     */
836    public static function addPos(FlatBufferBuilder $builder, $pos)
837    {
838        $builder->addStructX(0, $pos, 0);
839    }
840
841    /**
842     * @param FlatBufferBuilder $builder
843     * @param short
844     * @return void
845     */
846    public static function addMana(FlatBufferBuilder $builder, $mana)
847    {
848        $builder->addShortX(1, $mana, 150);
849    }
850
851    /**
852     * @param FlatBufferBuilder $builder
853     * @param short
854     * @return void
855     */
856    public static function addHp(FlatBufferBuilder $builder, $hp)
857    {
858        $builder->addShortX(2, $hp, 100);
859    }
860
861    /**
862     * @param FlatBufferBuilder $builder
863     * @param StringOffset
864     * @return void
865     */
866    public static function addName(FlatBufferBuilder $builder, $name)
867    {
868        $builder->addOffsetX(3, $name, 0);
869    }
870
871    /**
872     * @param FlatBufferBuilder $builder
873     * @param VectorOffset
874     * @return void
875     */
876    public static function addInventory(FlatBufferBuilder $builder, $inventory)
877    {
878        $builder->addOffsetX(5, $inventory, 0);
879    }
880
881    /**
882     * @param FlatBufferBuilder $builder
883     * @param array offset array
884     * @return int vector offset
885     */
886    public static function createInventoryVector(FlatBufferBuilder $builder, array $data)
887    {
888        $builder->startVector(1, count($data), 1);
889        for ($i = count($data) - 1; $i >= 0; $i--) {
890            $builder->putByte($data[$i]);
891        }
892        return $builder->endVector();
893    }
894
895    /**
896     * @param FlatBufferBuilder $builder
897     * @param int $numElems
898     * @return void
899     */
900    public static function startInventoryVector(FlatBufferBuilder $builder, $numElems)
901    {
902        $builder->startVector(1, $numElems, 1);
903    }
904
905    /**
906     * @param FlatBufferBuilder $builder
907     * @param byte
908     * @return void
909     */
910    public static function addColor(FlatBufferBuilder $builder, $color)
911    {
912        $builder->addByteX(6, $color, 8);
913    }
914
915    /**
916     * @param FlatBufferBuilder $builder
917     * @param byte
918     * @return void
919     */
920    public static function addTestType(FlatBufferBuilder $builder, $testType)
921    {
922        $builder->addByteX(7, $testType, 0);
923    }
924
925    public static function addTest(FlatBufferBuilder $builder, $offset)
926    {
927        $builder->addOffsetX(8, $offset, 0);
928    }
929
930    /**
931     * @param FlatBufferBuilder $builder
932     * @param VectorOffset
933     * @return void
934     */
935    public static function addTest4(FlatBufferBuilder $builder, $test4)
936    {
937        $builder->addOffsetX(9, $test4, 0);
938    }
939
940    /**
941     * @param FlatBufferBuilder $builder
942     * @param array offset array
943     * @return int vector offset
944     */
945    public static function createTest4Vector(FlatBufferBuilder $builder, array $data)
946    {
947        $builder->startVector(4, count($data), 2);
948        for ($i = count($data) - 1; $i >= 0; $i--) {
949            $builder->putOffset($data[$i]);
950        }
951        return $builder->endVector();
952    }
953
954    /**
955     * @param FlatBufferBuilder $builder
956     * @param int $numElems
957     * @return void
958     */
959    public static function startTest4Vector(FlatBufferBuilder $builder, $numElems)
960    {
961        $builder->startVector(4, $numElems, 2);
962    }
963
964    /**
965     * @param FlatBufferBuilder $builder
966     * @param VectorOffset
967     * @return void
968     */
969    public static function addTestarrayofstring(FlatBufferBuilder $builder, $testarrayofstring)
970    {
971        $builder->addOffsetX(10, $testarrayofstring, 0);
972    }
973
974    /**
975     * @param FlatBufferBuilder $builder
976     * @param array offset array
977     * @return int vector offset
978     */
979    public static function createTestarrayofstringVector(FlatBufferBuilder $builder, array $data)
980    {
981        $builder->startVector(4, count($data), 4);
982        for ($i = count($data) - 1; $i >= 0; $i--) {
983            $builder->putOffset($data[$i]);
984        }
985        return $builder->endVector();
986    }
987
988    /**
989     * @param FlatBufferBuilder $builder
990     * @param int $numElems
991     * @return void
992     */
993    public static function startTestarrayofstringVector(FlatBufferBuilder $builder, $numElems)
994    {
995        $builder->startVector(4, $numElems, 4);
996    }
997
998    /**
999     * @param FlatBufferBuilder $builder
1000     * @param VectorOffset
1001     * @return void
1002     */
1003    public static function addTestarrayoftables(FlatBufferBuilder $builder, $testarrayoftables)
1004    {
1005        $builder->addOffsetX(11, $testarrayoftables, 0);
1006    }
1007
1008    /**
1009     * @param FlatBufferBuilder $builder
1010     * @param array offset array
1011     * @return int vector offset
1012     */
1013    public static function createTestarrayoftablesVector(FlatBufferBuilder $builder, array $data)
1014    {
1015        $builder->startVector(4, count($data), 4);
1016        for ($i = count($data) - 1; $i >= 0; $i--) {
1017            $builder->putOffset($data[$i]);
1018        }
1019        return $builder->endVector();
1020    }
1021
1022    /**
1023     * @param FlatBufferBuilder $builder
1024     * @param int $numElems
1025     * @return void
1026     */
1027    public static function startTestarrayoftablesVector(FlatBufferBuilder $builder, $numElems)
1028    {
1029        $builder->startVector(4, $numElems, 4);
1030    }
1031
1032    /**
1033     * @param FlatBufferBuilder $builder
1034     * @param int
1035     * @return void
1036     */
1037    public static function addEnemy(FlatBufferBuilder $builder, $enemy)
1038    {
1039        $builder->addOffsetX(12, $enemy, 0);
1040    }
1041
1042    /**
1043     * @param FlatBufferBuilder $builder
1044     * @param VectorOffset
1045     * @return void
1046     */
1047    public static function addTestnestedflatbuffer(FlatBufferBuilder $builder, $testnestedflatbuffer)
1048    {
1049        $builder->addOffsetX(13, $testnestedflatbuffer, 0);
1050    }
1051
1052    /**
1053     * @param FlatBufferBuilder $builder
1054     * @param array offset array
1055     * @return int vector offset
1056     */
1057    public static function createTestnestedflatbufferVector(FlatBufferBuilder $builder, array $data)
1058    {
1059        $builder->startVector(1, count($data), 1);
1060        for ($i = count($data) - 1; $i >= 0; $i--) {
1061            $builder->putByte($data[$i]);
1062        }
1063        return $builder->endVector();
1064    }
1065
1066    /**
1067     * @param FlatBufferBuilder $builder
1068     * @param int $numElems
1069     * @return void
1070     */
1071    public static function startTestnestedflatbufferVector(FlatBufferBuilder $builder, $numElems)
1072    {
1073        $builder->startVector(1, $numElems, 1);
1074    }
1075
1076    /**
1077     * @param FlatBufferBuilder $builder
1078     * @param int
1079     * @return void
1080     */
1081    public static function addTestempty(FlatBufferBuilder $builder, $testempty)
1082    {
1083        $builder->addOffsetX(14, $testempty, 0);
1084    }
1085
1086    /**
1087     * @param FlatBufferBuilder $builder
1088     * @param bool
1089     * @return void
1090     */
1091    public static function addTestbool(FlatBufferBuilder $builder, $testbool)
1092    {
1093        $builder->addBoolX(15, $testbool, false);
1094    }
1095
1096    /**
1097     * @param FlatBufferBuilder $builder
1098     * @param int
1099     * @return void
1100     */
1101    public static function addTesthashs32Fnv1(FlatBufferBuilder $builder, $testhashs32Fnv1)
1102    {
1103        $builder->addIntX(16, $testhashs32Fnv1, 0);
1104    }
1105
1106    /**
1107     * @param FlatBufferBuilder $builder
1108     * @param uint
1109     * @return void
1110     */
1111    public static function addTesthashu32Fnv1(FlatBufferBuilder $builder, $testhashu32Fnv1)
1112    {
1113        $builder->addUintX(17, $testhashu32Fnv1, 0);
1114    }
1115
1116    /**
1117     * @param FlatBufferBuilder $builder
1118     * @param long
1119     * @return void
1120     */
1121    public static function addTesthashs64Fnv1(FlatBufferBuilder $builder, $testhashs64Fnv1)
1122    {
1123        $builder->addLongX(18, $testhashs64Fnv1, 0);
1124    }
1125
1126    /**
1127     * @param FlatBufferBuilder $builder
1128     * @param ulong
1129     * @return void
1130     */
1131    public static function addTesthashu64Fnv1(FlatBufferBuilder $builder, $testhashu64Fnv1)
1132    {
1133        $builder->addUlongX(19, $testhashu64Fnv1, 0);
1134    }
1135
1136    /**
1137     * @param FlatBufferBuilder $builder
1138     * @param int
1139     * @return void
1140     */
1141    public static function addTesthashs32Fnv1a(FlatBufferBuilder $builder, $testhashs32Fnv1a)
1142    {
1143        $builder->addIntX(20, $testhashs32Fnv1a, 0);
1144    }
1145
1146    /**
1147     * @param FlatBufferBuilder $builder
1148     * @param uint
1149     * @return void
1150     */
1151    public static function addTesthashu32Fnv1a(FlatBufferBuilder $builder, $testhashu32Fnv1a)
1152    {
1153        $builder->addUintX(21, $testhashu32Fnv1a, 0);
1154    }
1155
1156    /**
1157     * @param FlatBufferBuilder $builder
1158     * @param long
1159     * @return void
1160     */
1161    public static function addTesthashs64Fnv1a(FlatBufferBuilder $builder, $testhashs64Fnv1a)
1162    {
1163        $builder->addLongX(22, $testhashs64Fnv1a, 0);
1164    }
1165
1166    /**
1167     * @param FlatBufferBuilder $builder
1168     * @param ulong
1169     * @return void
1170     */
1171    public static function addTesthashu64Fnv1a(FlatBufferBuilder $builder, $testhashu64Fnv1a)
1172    {
1173        $builder->addUlongX(23, $testhashu64Fnv1a, 0);
1174    }
1175
1176    /**
1177     * @param FlatBufferBuilder $builder
1178     * @param VectorOffset
1179     * @return void
1180     */
1181    public static function addTestarrayofbools(FlatBufferBuilder $builder, $testarrayofbools)
1182    {
1183        $builder->addOffsetX(24, $testarrayofbools, 0);
1184    }
1185
1186    /**
1187     * @param FlatBufferBuilder $builder
1188     * @param array offset array
1189     * @return int vector offset
1190     */
1191    public static function createTestarrayofboolsVector(FlatBufferBuilder $builder, array $data)
1192    {
1193        $builder->startVector(1, count($data), 1);
1194        for ($i = count($data) - 1; $i >= 0; $i--) {
1195            $builder->putBool($data[$i]);
1196        }
1197        return $builder->endVector();
1198    }
1199
1200    /**
1201     * @param FlatBufferBuilder $builder
1202     * @param int $numElems
1203     * @return void
1204     */
1205    public static function startTestarrayofboolsVector(FlatBufferBuilder $builder, $numElems)
1206    {
1207        $builder->startVector(1, $numElems, 1);
1208    }
1209
1210    /**
1211     * @param FlatBufferBuilder $builder
1212     * @param float
1213     * @return void
1214     */
1215    public static function addTestf(FlatBufferBuilder $builder, $testf)
1216    {
1217        $builder->addFloatX(25, $testf, 3.14159);
1218    }
1219
1220    /**
1221     * @param FlatBufferBuilder $builder
1222     * @param float
1223     * @return void
1224     */
1225    public static function addTestf2(FlatBufferBuilder $builder, $testf2)
1226    {
1227        $builder->addFloatX(26, $testf2, 3.0);
1228    }
1229
1230    /**
1231     * @param FlatBufferBuilder $builder
1232     * @param float
1233     * @return void
1234     */
1235    public static function addTestf3(FlatBufferBuilder $builder, $testf3)
1236    {
1237        $builder->addFloatX(27, $testf3, 0.0);
1238    }
1239
1240    /**
1241     * @param FlatBufferBuilder $builder
1242     * @param VectorOffset
1243     * @return void
1244     */
1245    public static function addTestarrayofstring2(FlatBufferBuilder $builder, $testarrayofstring2)
1246    {
1247        $builder->addOffsetX(28, $testarrayofstring2, 0);
1248    }
1249
1250    /**
1251     * @param FlatBufferBuilder $builder
1252     * @param array offset array
1253     * @return int vector offset
1254     */
1255    public static function createTestarrayofstring2Vector(FlatBufferBuilder $builder, array $data)
1256    {
1257        $builder->startVector(4, count($data), 4);
1258        for ($i = count($data) - 1; $i >= 0; $i--) {
1259            $builder->putOffset($data[$i]);
1260        }
1261        return $builder->endVector();
1262    }
1263
1264    /**
1265     * @param FlatBufferBuilder $builder
1266     * @param int $numElems
1267     * @return void
1268     */
1269    public static function startTestarrayofstring2Vector(FlatBufferBuilder $builder, $numElems)
1270    {
1271        $builder->startVector(4, $numElems, 4);
1272    }
1273
1274    /**
1275     * @param FlatBufferBuilder $builder
1276     * @param VectorOffset
1277     * @return void
1278     */
1279    public static function addTestarrayofsortedstruct(FlatBufferBuilder $builder, $testarrayofsortedstruct)
1280    {
1281        $builder->addOffsetX(29, $testarrayofsortedstruct, 0);
1282    }
1283
1284    /**
1285     * @param FlatBufferBuilder $builder
1286     * @param array offset array
1287     * @return int vector offset
1288     */
1289    public static function createTestarrayofsortedstructVector(FlatBufferBuilder $builder, array $data)
1290    {
1291        $builder->startVector(8, count($data), 4);
1292        for ($i = count($data) - 1; $i >= 0; $i--) {
1293            $builder->putOffset($data[$i]);
1294        }
1295        return $builder->endVector();
1296    }
1297
1298    /**
1299     * @param FlatBufferBuilder $builder
1300     * @param int $numElems
1301     * @return void
1302     */
1303    public static function startTestarrayofsortedstructVector(FlatBufferBuilder $builder, $numElems)
1304    {
1305        $builder->startVector(8, $numElems, 4);
1306    }
1307
1308    /**
1309     * @param FlatBufferBuilder $builder
1310     * @param VectorOffset
1311     * @return void
1312     */
1313    public static function addFlex(FlatBufferBuilder $builder, $flex)
1314    {
1315        $builder->addOffsetX(30, $flex, 0);
1316    }
1317
1318    /**
1319     * @param FlatBufferBuilder $builder
1320     * @param array offset array
1321     * @return int vector offset
1322     */
1323    public static function createFlexVector(FlatBufferBuilder $builder, array $data)
1324    {
1325        $builder->startVector(1, count($data), 1);
1326        for ($i = count($data) - 1; $i >= 0; $i--) {
1327            $builder->putByte($data[$i]);
1328        }
1329        return $builder->endVector();
1330    }
1331
1332    /**
1333     * @param FlatBufferBuilder $builder
1334     * @param int $numElems
1335     * @return void
1336     */
1337    public static function startFlexVector(FlatBufferBuilder $builder, $numElems)
1338    {
1339        $builder->startVector(1, $numElems, 1);
1340    }
1341
1342    /**
1343     * @param FlatBufferBuilder $builder
1344     * @param VectorOffset
1345     * @return void
1346     */
1347    public static function addTest5(FlatBufferBuilder $builder, $test5)
1348    {
1349        $builder->addOffsetX(31, $test5, 0);
1350    }
1351
1352    /**
1353     * @param FlatBufferBuilder $builder
1354     * @param array offset array
1355     * @return int vector offset
1356     */
1357    public static function createTest5Vector(FlatBufferBuilder $builder, array $data)
1358    {
1359        $builder->startVector(4, count($data), 2);
1360        for ($i = count($data) - 1; $i >= 0; $i--) {
1361            $builder->putOffset($data[$i]);
1362        }
1363        return $builder->endVector();
1364    }
1365
1366    /**
1367     * @param FlatBufferBuilder $builder
1368     * @param int $numElems
1369     * @return void
1370     */
1371    public static function startTest5Vector(FlatBufferBuilder $builder, $numElems)
1372    {
1373        $builder->startVector(4, $numElems, 2);
1374    }
1375
1376    /**
1377     * @param FlatBufferBuilder $builder
1378     * @param VectorOffset
1379     * @return void
1380     */
1381    public static function addVectorOfLongs(FlatBufferBuilder $builder, $vectorOfLongs)
1382    {
1383        $builder->addOffsetX(32, $vectorOfLongs, 0);
1384    }
1385
1386    /**
1387     * @param FlatBufferBuilder $builder
1388     * @param array offset array
1389     * @return int vector offset
1390     */
1391    public static function createVectorOfLongsVector(FlatBufferBuilder $builder, array $data)
1392    {
1393        $builder->startVector(8, count($data), 8);
1394        for ($i = count($data) - 1; $i >= 0; $i--) {
1395            $builder->putLong($data[$i]);
1396        }
1397        return $builder->endVector();
1398    }
1399
1400    /**
1401     * @param FlatBufferBuilder $builder
1402     * @param int $numElems
1403     * @return void
1404     */
1405    public static function startVectorOfLongsVector(FlatBufferBuilder $builder, $numElems)
1406    {
1407        $builder->startVector(8, $numElems, 8);
1408    }
1409
1410    /**
1411     * @param FlatBufferBuilder $builder
1412     * @param VectorOffset
1413     * @return void
1414     */
1415    public static function addVectorOfDoubles(FlatBufferBuilder $builder, $vectorOfDoubles)
1416    {
1417        $builder->addOffsetX(33, $vectorOfDoubles, 0);
1418    }
1419
1420    /**
1421     * @param FlatBufferBuilder $builder
1422     * @param array offset array
1423     * @return int vector offset
1424     */
1425    public static function createVectorOfDoublesVector(FlatBufferBuilder $builder, array $data)
1426    {
1427        $builder->startVector(8, count($data), 8);
1428        for ($i = count($data) - 1; $i >= 0; $i--) {
1429            $builder->putDouble($data[$i]);
1430        }
1431        return $builder->endVector();
1432    }
1433
1434    /**
1435     * @param FlatBufferBuilder $builder
1436     * @param int $numElems
1437     * @return void
1438     */
1439    public static function startVectorOfDoublesVector(FlatBufferBuilder $builder, $numElems)
1440    {
1441        $builder->startVector(8, $numElems, 8);
1442    }
1443
1444    /**
1445     * @param FlatBufferBuilder $builder
1446     * @param int
1447     * @return void
1448     */
1449    public static function addParentNamespaceTest(FlatBufferBuilder $builder, $parentNamespaceTest)
1450    {
1451        $builder->addOffsetX(34, $parentNamespaceTest, 0);
1452    }
1453
1454    /**
1455     * @param FlatBufferBuilder $builder
1456     * @param VectorOffset
1457     * @return void
1458     */
1459    public static function addVectorOfReferrables(FlatBufferBuilder $builder, $vectorOfReferrables)
1460    {
1461        $builder->addOffsetX(35, $vectorOfReferrables, 0);
1462    }
1463
1464    /**
1465     * @param FlatBufferBuilder $builder
1466     * @param array offset array
1467     * @return int vector offset
1468     */
1469    public static function createVectorOfReferrablesVector(FlatBufferBuilder $builder, array $data)
1470    {
1471        $builder->startVector(4, count($data), 4);
1472        for ($i = count($data) - 1; $i >= 0; $i--) {
1473            $builder->putOffset($data[$i]);
1474        }
1475        return $builder->endVector();
1476    }
1477
1478    /**
1479     * @param FlatBufferBuilder $builder
1480     * @param int $numElems
1481     * @return void
1482     */
1483    public static function startVectorOfReferrablesVector(FlatBufferBuilder $builder, $numElems)
1484    {
1485        $builder->startVector(4, $numElems, 4);
1486    }
1487
1488    /**
1489     * @param FlatBufferBuilder $builder
1490     * @param ulong
1491     * @return void
1492     */
1493    public static function addSingleWeakReference(FlatBufferBuilder $builder, $singleWeakReference)
1494    {
1495        $builder->addUlongX(36, $singleWeakReference, 0);
1496    }
1497
1498    /**
1499     * @param FlatBufferBuilder $builder
1500     * @param VectorOffset
1501     * @return void
1502     */
1503    public static function addVectorOfWeakReferences(FlatBufferBuilder $builder, $vectorOfWeakReferences)
1504    {
1505        $builder->addOffsetX(37, $vectorOfWeakReferences, 0);
1506    }
1507
1508    /**
1509     * @param FlatBufferBuilder $builder
1510     * @param array offset array
1511     * @return int vector offset
1512     */
1513    public static function createVectorOfWeakReferencesVector(FlatBufferBuilder $builder, array $data)
1514    {
1515        $builder->startVector(8, count($data), 8);
1516        for ($i = count($data) - 1; $i >= 0; $i--) {
1517            $builder->putUlong($data[$i]);
1518        }
1519        return $builder->endVector();
1520    }
1521
1522    /**
1523     * @param FlatBufferBuilder $builder
1524     * @param int $numElems
1525     * @return void
1526     */
1527    public static function startVectorOfWeakReferencesVector(FlatBufferBuilder $builder, $numElems)
1528    {
1529        $builder->startVector(8, $numElems, 8);
1530    }
1531
1532    /**
1533     * @param FlatBufferBuilder $builder
1534     * @param VectorOffset
1535     * @return void
1536     */
1537    public static function addVectorOfStrongReferrables(FlatBufferBuilder $builder, $vectorOfStrongReferrables)
1538    {
1539        $builder->addOffsetX(38, $vectorOfStrongReferrables, 0);
1540    }
1541
1542    /**
1543     * @param FlatBufferBuilder $builder
1544     * @param array offset array
1545     * @return int vector offset
1546     */
1547    public static function createVectorOfStrongReferrablesVector(FlatBufferBuilder $builder, array $data)
1548    {
1549        $builder->startVector(4, count($data), 4);
1550        for ($i = count($data) - 1; $i >= 0; $i--) {
1551            $builder->putOffset($data[$i]);
1552        }
1553        return $builder->endVector();
1554    }
1555
1556    /**
1557     * @param FlatBufferBuilder $builder
1558     * @param int $numElems
1559     * @return void
1560     */
1561    public static function startVectorOfStrongReferrablesVector(FlatBufferBuilder $builder, $numElems)
1562    {
1563        $builder->startVector(4, $numElems, 4);
1564    }
1565
1566    /**
1567     * @param FlatBufferBuilder $builder
1568     * @param ulong
1569     * @return void
1570     */
1571    public static function addCoOwningReference(FlatBufferBuilder $builder, $coOwningReference)
1572    {
1573        $builder->addUlongX(39, $coOwningReference, 0);
1574    }
1575
1576    /**
1577     * @param FlatBufferBuilder $builder
1578     * @param VectorOffset
1579     * @return void
1580     */
1581    public static function addVectorOfCoOwningReferences(FlatBufferBuilder $builder, $vectorOfCoOwningReferences)
1582    {
1583        $builder->addOffsetX(40, $vectorOfCoOwningReferences, 0);
1584    }
1585
1586    /**
1587     * @param FlatBufferBuilder $builder
1588     * @param array offset array
1589     * @return int vector offset
1590     */
1591    public static function createVectorOfCoOwningReferencesVector(FlatBufferBuilder $builder, array $data)
1592    {
1593        $builder->startVector(8, count($data), 8);
1594        for ($i = count($data) - 1; $i >= 0; $i--) {
1595            $builder->putUlong($data[$i]);
1596        }
1597        return $builder->endVector();
1598    }
1599
1600    /**
1601     * @param FlatBufferBuilder $builder
1602     * @param int $numElems
1603     * @return void
1604     */
1605    public static function startVectorOfCoOwningReferencesVector(FlatBufferBuilder $builder, $numElems)
1606    {
1607        $builder->startVector(8, $numElems, 8);
1608    }
1609
1610    /**
1611     * @param FlatBufferBuilder $builder
1612     * @param ulong
1613     * @return void
1614     */
1615    public static function addNonOwningReference(FlatBufferBuilder $builder, $nonOwningReference)
1616    {
1617        $builder->addUlongX(41, $nonOwningReference, 0);
1618    }
1619
1620    /**
1621     * @param FlatBufferBuilder $builder
1622     * @param VectorOffset
1623     * @return void
1624     */
1625    public static function addVectorOfNonOwningReferences(FlatBufferBuilder $builder, $vectorOfNonOwningReferences)
1626    {
1627        $builder->addOffsetX(42, $vectorOfNonOwningReferences, 0);
1628    }
1629
1630    /**
1631     * @param FlatBufferBuilder $builder
1632     * @param array offset array
1633     * @return int vector offset
1634     */
1635    public static function createVectorOfNonOwningReferencesVector(FlatBufferBuilder $builder, array $data)
1636    {
1637        $builder->startVector(8, count($data), 8);
1638        for ($i = count($data) - 1; $i >= 0; $i--) {
1639            $builder->putUlong($data[$i]);
1640        }
1641        return $builder->endVector();
1642    }
1643
1644    /**
1645     * @param FlatBufferBuilder $builder
1646     * @param int $numElems
1647     * @return void
1648     */
1649    public static function startVectorOfNonOwningReferencesVector(FlatBufferBuilder $builder, $numElems)
1650    {
1651        $builder->startVector(8, $numElems, 8);
1652    }
1653
1654    /**
1655     * @param FlatBufferBuilder $builder
1656     * @param byte
1657     * @return void
1658     */
1659    public static function addAnyUniqueType(FlatBufferBuilder $builder, $anyUniqueType)
1660    {
1661        $builder->addByteX(43, $anyUniqueType, 0);
1662    }
1663
1664    public static function addAnyUnique(FlatBufferBuilder $builder, $offset)
1665    {
1666        $builder->addOffsetX(44, $offset, 0);
1667    }
1668
1669    /**
1670     * @param FlatBufferBuilder $builder
1671     * @param byte
1672     * @return void
1673     */
1674    public static function addAnyAmbiguousType(FlatBufferBuilder $builder, $anyAmbiguousType)
1675    {
1676        $builder->addByteX(45, $anyAmbiguousType, 0);
1677    }
1678
1679    public static function addAnyAmbiguous(FlatBufferBuilder $builder, $offset)
1680    {
1681        $builder->addOffsetX(46, $offset, 0);
1682    }
1683
1684    /**
1685     * @param FlatBufferBuilder $builder
1686     * @param VectorOffset
1687     * @return void
1688     */
1689    public static function addVectorOfEnums(FlatBufferBuilder $builder, $vectorOfEnums)
1690    {
1691        $builder->addOffsetX(47, $vectorOfEnums, 0);
1692    }
1693
1694    /**
1695     * @param FlatBufferBuilder $builder
1696     * @param array offset array
1697     * @return int vector offset
1698     */
1699    public static function createVectorOfEnumsVector(FlatBufferBuilder $builder, array $data)
1700    {
1701        $builder->startVector(1, count($data), 1);
1702        for ($i = count($data) - 1; $i >= 0; $i--) {
1703            $builder->putByte($data[$i]);
1704        }
1705        return $builder->endVector();
1706    }
1707
1708    /**
1709     * @param FlatBufferBuilder $builder
1710     * @param int $numElems
1711     * @return void
1712     */
1713    public static function startVectorOfEnumsVector(FlatBufferBuilder $builder, $numElems)
1714    {
1715        $builder->startVector(1, $numElems, 1);
1716    }
1717
1718    /**
1719     * @param FlatBufferBuilder $builder
1720     * @param sbyte
1721     * @return void
1722     */
1723    public static function addSignedEnum(FlatBufferBuilder $builder, $signedEnum)
1724    {
1725        $builder->addSbyteX(48, $signedEnum, -1);
1726    }
1727
1728    /**
1729     * @param FlatBufferBuilder $builder
1730     * @param VectorOffset
1731     * @return void
1732     */
1733    public static function addTestrequirednestedflatbuffer(FlatBufferBuilder $builder, $testrequirednestedflatbuffer)
1734    {
1735        $builder->addOffsetX(49, $testrequirednestedflatbuffer, 0);
1736    }
1737
1738    /**
1739     * @param FlatBufferBuilder $builder
1740     * @param array offset array
1741     * @return int vector offset
1742     */
1743    public static function createTestrequirednestedflatbufferVector(FlatBufferBuilder $builder, array $data)
1744    {
1745        $builder->startVector(1, count($data), 1);
1746        for ($i = count($data) - 1; $i >= 0; $i--) {
1747            $builder->putByte($data[$i]);
1748        }
1749        return $builder->endVector();
1750    }
1751
1752    /**
1753     * @param FlatBufferBuilder $builder
1754     * @param int $numElems
1755     * @return void
1756     */
1757    public static function startTestrequirednestedflatbufferVector(FlatBufferBuilder $builder, $numElems)
1758    {
1759        $builder->startVector(1, $numElems, 1);
1760    }
1761
1762    /**
1763     * @param FlatBufferBuilder $builder
1764     * @param VectorOffset
1765     * @return void
1766     */
1767    public static function addScalarKeySortedTables(FlatBufferBuilder $builder, $scalarKeySortedTables)
1768    {
1769        $builder->addOffsetX(50, $scalarKeySortedTables, 0);
1770    }
1771
1772    /**
1773     * @param FlatBufferBuilder $builder
1774     * @param array offset array
1775     * @return int vector offset
1776     */
1777    public static function createScalarKeySortedTablesVector(FlatBufferBuilder $builder, array $data)
1778    {
1779        $builder->startVector(4, count($data), 4);
1780        for ($i = count($data) - 1; $i >= 0; $i--) {
1781            $builder->putOffset($data[$i]);
1782        }
1783        return $builder->endVector();
1784    }
1785
1786    /**
1787     * @param FlatBufferBuilder $builder
1788     * @param int $numElems
1789     * @return void
1790     */
1791    public static function startScalarKeySortedTablesVector(FlatBufferBuilder $builder, $numElems)
1792    {
1793        $builder->startVector(4, $numElems, 4);
1794    }
1795
1796    /**
1797     * @param FlatBufferBuilder $builder
1798     * @param int
1799     * @return void
1800     */
1801    public static function addNativeInline(FlatBufferBuilder $builder, $nativeInline)
1802    {
1803        $builder->addStructX(51, $nativeInline, 0);
1804    }
1805
1806    /**
1807     * @param FlatBufferBuilder $builder
1808     * @param ulong
1809     * @return void
1810     */
1811    public static function addLongEnumNonEnumDefault(FlatBufferBuilder $builder, $longEnumNonEnumDefault)
1812    {
1813        $builder->addUlongX(52, $longEnumNonEnumDefault, 0);
1814    }
1815
1816    /**
1817     * @param FlatBufferBuilder $builder
1818     * @param ulong
1819     * @return void
1820     */
1821    public static function addLongEnumNormalDefault(FlatBufferBuilder $builder, $longEnumNormalDefault)
1822    {
1823        $builder->addUlongX(53, $longEnumNormalDefault, 2);
1824    }
1825
1826    /**
1827     * @param FlatBufferBuilder $builder
1828     * @return int table offset
1829     */
1830    public static function endMonster(FlatBufferBuilder $builder)
1831    {
1832        $o = $builder->endObject();
1833        $builder->required($o, 10);  // name
1834        return $o;
1835    }
1836
1837    public static function finishMonsterBuffer(FlatBufferBuilder $builder, $offset)
1838    {
1839        $builder->finish($offset, "MONS");
1840    }
1841}
1842