mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-30 15:50:02 +00:00
Merge pull request #4395 from stewartmiles/master
Test case for CreateVectorOfStructs() using a callback.
This commit is contained in:
@@ -1543,7 +1543,7 @@ class FlatBufferBuilder
|
|||||||
private:
|
private:
|
||||||
// Allocates space for a vector of structures.
|
// Allocates space for a vector of structures.
|
||||||
// Must be completed with EndVectorOfStructs().
|
// Must be completed with EndVectorOfStructs().
|
||||||
template<typename T> const T* StartVectorOfStructs(size_t vector_size) {
|
template<typename T> T* StartVectorOfStructs(size_t vector_size) {
|
||||||
StartVector(vector_size * sizeof(T) / AlignOf<T>(), AlignOf<T>());
|
StartVector(vector_size * sizeof(T) / AlignOf<T>(), AlignOf<T>());
|
||||||
return reinterpret_cast<T *>(buf_.make_space(vector_size * sizeof(T)));
|
return reinterpret_cast<T *>(buf_.make_space(vector_size * sizeof(T)));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,8 +87,10 @@ public struct Monster : IFlatbufferObject
|
|||||||
public int FlexLength { get { int o = __p.__offset(64); return o != 0 ? __p.__vector_len(o) : 0; } }
|
public int FlexLength { get { int o = __p.__offset(64); return o != 0 ? __p.__vector_len(o) : 0; } }
|
||||||
public ArraySegment<byte>? GetFlexBytes() { return __p.__vector_as_arraysegment(64); }
|
public ArraySegment<byte>? GetFlexBytes() { return __p.__vector_as_arraysegment(64); }
|
||||||
public bool MutateFlex(int j, byte flex) { int o = __p.__offset(64); if (o != 0) { __p.bb.Put(__p.__vector(o) + j * 1, flex); return true; } else { return false; } }
|
public bool MutateFlex(int j, byte flex) { int o = __p.__offset(64); if (o != 0) { __p.bb.Put(__p.__vector(o) + j * 1, flex); return true; } else { return false; } }
|
||||||
|
public Test? Test5(int j) { int o = __p.__offset(66); return o != 0 ? (Test?)(new Test()).__assign(__p.__vector(o) + j * 4, __p.bb) : null; }
|
||||||
|
public int Test5Length { get { int o = __p.__offset(66); return o != 0 ? __p.__vector_len(o) : 0; } }
|
||||||
|
|
||||||
public static void StartMonster(FlatBufferBuilder builder) { builder.StartObject(31); }
|
public static void StartMonster(FlatBufferBuilder builder) { builder.StartObject(32); }
|
||||||
public static void AddPos(FlatBufferBuilder builder, Offset<Vec3> posOffset) { builder.AddStruct(0, posOffset.Value, 0); }
|
public static void AddPos(FlatBufferBuilder builder, Offset<Vec3> posOffset) { builder.AddStruct(0, posOffset.Value, 0); }
|
||||||
public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); }
|
public static void AddMana(FlatBufferBuilder builder, short mana) { builder.AddShort(1, mana, 150); }
|
||||||
public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); }
|
public static void AddHp(FlatBufferBuilder builder, short hp) { builder.AddShort(2, hp, 100); }
|
||||||
@@ -135,6 +137,8 @@ public struct Monster : IFlatbufferObject
|
|||||||
public static void AddFlex(FlatBufferBuilder builder, VectorOffset flexOffset) { builder.AddOffset(30, flexOffset.Value, 0); }
|
public static void AddFlex(FlatBufferBuilder builder, VectorOffset flexOffset) { builder.AddOffset(30, flexOffset.Value, 0); }
|
||||||
public static VectorOffset CreateFlexVector(FlatBufferBuilder builder, byte[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddByte(data[i]); return builder.EndVector(); }
|
public static VectorOffset CreateFlexVector(FlatBufferBuilder builder, byte[] data) { builder.StartVector(1, data.Length, 1); for (int i = data.Length - 1; i >= 0; i--) builder.AddByte(data[i]); return builder.EndVector(); }
|
||||||
public static void StartFlexVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
|
public static void StartFlexVector(FlatBufferBuilder builder, int numElems) { builder.StartVector(1, numElems, 1); }
|
||||||
|
public static void AddTest5(FlatBufferBuilder builder, VectorOffset test5Offset) { builder.AddOffset(31, test5Offset.Value, 0); }
|
||||||
|
public static void StartTest5Vector(FlatBufferBuilder builder, int numElems) { builder.StartVector(4, numElems, 2); }
|
||||||
public static Offset<Monster> EndMonster(FlatBufferBuilder builder) {
|
public static Offset<Monster> EndMonster(FlatBufferBuilder builder) {
|
||||||
int o = builder.EndObject();
|
int o = builder.EndObject();
|
||||||
builder.Required(o, 10); // name
|
builder.Required(o, 10); // name
|
||||||
|
|||||||
@@ -463,8 +463,27 @@ func (rcv *Monster) FlexBytes() []byte {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (rcv *Monster) Test5(obj *Test, j int) bool {
|
||||||
|
o := flatbuffers.UOffsetT(rcv._tab.Offset(66))
|
||||||
|
if o != 0 {
|
||||||
|
x := rcv._tab.Vector(o)
|
||||||
|
x += flatbuffers.UOffsetT(j) * 4
|
||||||
|
obj.Init(rcv._tab.Bytes, x)
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rcv *Monster) Test5Length() int {
|
||||||
|
o := flatbuffers.UOffsetT(rcv._tab.Offset(66))
|
||||||
|
if o != 0 {
|
||||||
|
return rcv._tab.VectorLen(o)
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
func MonsterStart(builder *flatbuffers.Builder) {
|
func MonsterStart(builder *flatbuffers.Builder) {
|
||||||
builder.StartObject(31)
|
builder.StartObject(32)
|
||||||
}
|
}
|
||||||
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
|
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
|
||||||
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
|
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
|
||||||
@@ -583,6 +602,12 @@ func MonsterAddFlex(builder *flatbuffers.Builder, flex flatbuffers.UOffsetT) {
|
|||||||
func MonsterStartFlexVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
func MonsterStartFlexVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||||
return builder.StartVector(1, numElems, 1)
|
return builder.StartVector(1, numElems, 1)
|
||||||
}
|
}
|
||||||
|
func MonsterAddTest5(builder *flatbuffers.Builder, test5 flatbuffers.UOffsetT) {
|
||||||
|
builder.PrependUOffsetTSlot(31, flatbuffers.UOffsetT(test5), 0)
|
||||||
|
}
|
||||||
|
func MonsterStartTest5Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||||
|
return builder.StartVector(4, numElems, 2)
|
||||||
|
}
|
||||||
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
||||||
return builder.EndObject()
|
return builder.EndObject()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,8 +95,11 @@ public final class Monster extends Table {
|
|||||||
public int flexLength() { int o = __offset(64); return o != 0 ? __vector_len(o) : 0; }
|
public int flexLength() { int o = __offset(64); return o != 0 ? __vector_len(o) : 0; }
|
||||||
public ByteBuffer flexAsByteBuffer() { return __vector_as_bytebuffer(64, 1); }
|
public ByteBuffer flexAsByteBuffer() { return __vector_as_bytebuffer(64, 1); }
|
||||||
public boolean mutateFlex(int j, int flex) { int o = __offset(64); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)flex); return true; } else { return false; } }
|
public boolean mutateFlex(int j, int flex) { int o = __offset(64); if (o != 0) { bb.put(__vector(o) + j * 1, (byte)flex); return true; } else { return false; } }
|
||||||
|
public Test test5(int j) { return test5(new Test(), j); }
|
||||||
|
public Test test5(Test obj, int j) { int o = __offset(66); return o != 0 ? obj.__assign(__vector(o) + j * 4, bb) : null; }
|
||||||
|
public int test5Length() { int o = __offset(66); return o != 0 ? __vector_len(o) : 0; }
|
||||||
|
|
||||||
public static void startMonster(FlatBufferBuilder builder) { builder.startObject(31); }
|
public static void startMonster(FlatBufferBuilder builder) { builder.startObject(32); }
|
||||||
public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); }
|
public static void addPos(FlatBufferBuilder builder, int posOffset) { builder.addStruct(0, posOffset, 0); }
|
||||||
public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); }
|
public static void addMana(FlatBufferBuilder builder, short mana) { builder.addShort(1, mana, 150); }
|
||||||
public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); }
|
public static void addHp(FlatBufferBuilder builder, short hp) { builder.addShort(2, hp, 100); }
|
||||||
@@ -143,6 +146,8 @@ public final class Monster extends Table {
|
|||||||
public static void addFlex(FlatBufferBuilder builder, int flexOffset) { builder.addOffset(30, flexOffset, 0); }
|
public static void addFlex(FlatBufferBuilder builder, int flexOffset) { builder.addOffset(30, flexOffset, 0); }
|
||||||
public static int createFlexVector(FlatBufferBuilder builder, byte[] data) { builder.startVector(1, data.length, 1); for (int i = data.length - 1; i >= 0; i--) builder.addByte(data[i]); return builder.endVector(); }
|
public static int createFlexVector(FlatBufferBuilder builder, byte[] data) { builder.startVector(1, data.length, 1); for (int i = data.length - 1; i >= 0; i--) builder.addByte(data[i]); return builder.endVector(); }
|
||||||
public static void startFlexVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
|
public static void startFlexVector(FlatBufferBuilder builder, int numElems) { builder.startVector(1, numElems, 1); }
|
||||||
|
public static void addTest5(FlatBufferBuilder builder, int test5Offset) { builder.addOffset(31, test5Offset, 0); }
|
||||||
|
public static void startTest5Vector(FlatBufferBuilder builder, int numElems) { builder.startVector(4, numElems, 2); }
|
||||||
public static int endMonster(FlatBufferBuilder builder) {
|
public static int endMonster(FlatBufferBuilder builder) {
|
||||||
int o = builder.endObject();
|
int o = builder.endObject();
|
||||||
builder.required(o, 10); // name
|
builder.required(o, 10); // name
|
||||||
|
|||||||
@@ -425,22 +425,41 @@ class Monster extends Table
|
|||||||
return $this->__vector_as_bytes(64);
|
return $this->__vector_as_bytes(64);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returnVectorOffset
|
||||||
|
*/
|
||||||
|
public function getTest5($j)
|
||||||
|
{
|
||||||
|
$o = $this->__offset(66);
|
||||||
|
$obj = new Test();
|
||||||
|
return $o != 0 ? $obj->init($this->__vector($o) + $j *4, $this->bb) : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
public function getTest5Length()
|
||||||
|
{
|
||||||
|
$o = $this->__offset(66);
|
||||||
|
return $o != 0 ? $this->__vector_len($o) : 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param FlatBufferBuilder $builder
|
* @param FlatBufferBuilder $builder
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
public static function startMonster(FlatBufferBuilder $builder)
|
public static function startMonster(FlatBufferBuilder $builder)
|
||||||
{
|
{
|
||||||
$builder->StartObject(31);
|
$builder->StartObject(32);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param FlatBufferBuilder $builder
|
* @param FlatBufferBuilder $builder
|
||||||
* @return Monster
|
* @return Monster
|
||||||
*/
|
*/
|
||||||
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)
|
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)
|
||||||
{
|
{
|
||||||
$builder->startObject(31);
|
$builder->startObject(32);
|
||||||
self::addPos($builder, $pos);
|
self::addPos($builder, $pos);
|
||||||
self::addMana($builder, $mana);
|
self::addMana($builder, $mana);
|
||||||
self::addHp($builder, $hp);
|
self::addHp($builder, $hp);
|
||||||
@@ -471,6 +490,7 @@ class Monster extends Table
|
|||||||
self::addTestarrayofstring2($builder, $testarrayofstring2);
|
self::addTestarrayofstring2($builder, $testarrayofstring2);
|
||||||
self::addTestarrayofsortedstruct($builder, $testarrayofsortedstruct);
|
self::addTestarrayofsortedstruct($builder, $testarrayofsortedstruct);
|
||||||
self::addFlex($builder, $flex);
|
self::addFlex($builder, $flex);
|
||||||
|
self::addTest5($builder, $test5);
|
||||||
$o = $builder->endObject();
|
$o = $builder->endObject();
|
||||||
$builder->required($o, 10); // name
|
$builder->required($o, 10); // name
|
||||||
return $o;
|
return $o;
|
||||||
@@ -987,6 +1007,40 @@ class Monster extends Table
|
|||||||
$builder->startVector(1, $numElems, 1);
|
$builder->startVector(1, $numElems, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param FlatBufferBuilder $builder
|
||||||
|
* @param VectorOffset
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function addTest5(FlatBufferBuilder $builder, $test5)
|
||||||
|
{
|
||||||
|
$builder->addOffsetX(31, $test5, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param FlatBufferBuilder $builder
|
||||||
|
* @param array offset array
|
||||||
|
* @return int vector offset
|
||||||
|
*/
|
||||||
|
public static function createTest5Vector(FlatBufferBuilder $builder, array $data)
|
||||||
|
{
|
||||||
|
$builder->startVector(4, count($data), 2);
|
||||||
|
for ($i = count($data) - 1; $i >= 0; $i--) {
|
||||||
|
$builder->addOffset($data[$i]);
|
||||||
|
}
|
||||||
|
return $builder->endVector();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param FlatBufferBuilder $builder
|
||||||
|
* @param int $numElems
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public static function startTest5Vector(FlatBufferBuilder $builder, $numElems)
|
||||||
|
{
|
||||||
|
$builder->startVector(4, $numElems, 2);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param FlatBufferBuilder $builder
|
* @param FlatBufferBuilder $builder
|
||||||
* @return int table offset
|
* @return int table offset
|
||||||
|
|||||||
@@ -331,7 +331,26 @@ class Monster(object):
|
|||||||
return self._tab.VectorLen(o)
|
return self._tab.VectorLen(o)
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
def MonsterStart(builder): builder.StartObject(31)
|
# Monster
|
||||||
|
def Test5(self, j):
|
||||||
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(66))
|
||||||
|
if o != 0:
|
||||||
|
x = self._tab.Vector(o)
|
||||||
|
x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4
|
||||||
|
from .Test import Test
|
||||||
|
obj = Test()
|
||||||
|
obj.Init(self._tab.Bytes, x)
|
||||||
|
return obj
|
||||||
|
return None
|
||||||
|
|
||||||
|
# Monster
|
||||||
|
def Test5Length(self):
|
||||||
|
o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(66))
|
||||||
|
if o != 0:
|
||||||
|
return self._tab.VectorLen(o)
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def MonsterStart(builder): builder.StartObject(32)
|
||||||
def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
|
def MonsterAddPos(builder, pos): builder.PrependStructSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pos), 0)
|
||||||
def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150)
|
def MonsterAddMana(builder, mana): builder.PrependInt16Slot(1, mana, 150)
|
||||||
def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100)
|
def MonsterAddHp(builder, hp): builder.PrependInt16Slot(2, hp, 100)
|
||||||
@@ -371,4 +390,6 @@ def MonsterAddTestarrayofsortedstruct(builder, testarrayofsortedstruct): builder
|
|||||||
def MonsterStartTestarrayofsortedstructVector(builder, numElems): return builder.StartVector(8, numElems, 4)
|
def MonsterStartTestarrayofsortedstructVector(builder, numElems): return builder.StartVector(8, numElems, 4)
|
||||||
def MonsterAddFlex(builder, flex): builder.PrependUOffsetTRelativeSlot(30, flatbuffers.number_types.UOffsetTFlags.py_type(flex), 0)
|
def MonsterAddFlex(builder, flex): builder.PrependUOffsetTRelativeSlot(30, flatbuffers.number_types.UOffsetTFlags.py_type(flex), 0)
|
||||||
def MonsterStartFlexVector(builder, numElems): return builder.StartVector(1, numElems, 1)
|
def MonsterStartFlexVector(builder, numElems): return builder.StartVector(1, numElems, 1)
|
||||||
|
def MonsterAddTest5(builder, test5): builder.PrependUOffsetTRelativeSlot(31, flatbuffers.number_types.UOffsetTFlags.py_type(test5), 0)
|
||||||
|
def MonsterStartTest5Vector(builder, numElems): return builder.StartVector(4, numElems, 2)
|
||||||
def MonsterEnd(builder): return builder.EndObject()
|
def MonsterEnd(builder): return builder.EndObject()
|
||||||
|
|||||||
@@ -14,11 +14,11 @@
|
|||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
../flatc --cpp --java --csharp --go --binary --python --js --ts --php --grpc --gen-mutable --gen-object-api --no-includes --no-fb-import -I include_test monster_test.fbs monsterdata_test.json
|
../flatc --cpp --java --csharp --go --binary --python --js --ts --php --grpc --gen-mutable --gen-object-api --no-includes --cpp-ptr-type flatbuffers::unique_ptr --no-fb-import -I include_test monster_test.fbs monsterdata_test.json
|
||||||
../flatc --cpp --java --csharp --go --binary --python --js --ts --php --gen-mutable --no-fb-import -o namespace_test namespace_test/namespace_test1.fbs namespace_test/namespace_test2.fbs
|
../flatc --cpp --java --csharp --go --binary --python --js --ts --php --gen-mutable --no-fb-import --cpp-ptr-type flatbuffers::unique_ptr -o namespace_test namespace_test/namespace_test1.fbs namespace_test/namespace_test2.fbs
|
||||||
../flatc --cpp --gen-mutable --gen-object-api -o union_vector ./union_vector/union_vector.fbs
|
../flatc --cpp --gen-mutable --gen-object-api --cpp-ptr-type flatbuffers::unique_ptr -o union_vector ./union_vector/union_vector.fbs
|
||||||
../flatc -b --schema --bfbs-comments -I include_test monster_test.fbs
|
../flatc -b --schema --bfbs-comments -I include_test monster_test.fbs
|
||||||
../flatc --jsonschema --schema -I include_test monster_test.fbs
|
../flatc --jsonschema --schema -I include_test monster_test.fbs
|
||||||
cd ../samples
|
cd ../samples
|
||||||
../flatc --cpp --gen-mutable --gen-object-api monster.fbs
|
../flatc --cpp --gen-mutable --gen-object-api --cpp-ptr-type flatbuffers::unique_ptr monster.fbs
|
||||||
cd ../reflection
|
cd ../reflection
|
||||||
|
|||||||
@@ -1085,6 +1085,7 @@ func CheckManualBuild(fail func(string, ...interface{})) ([]byte, flatbuffers.UO
|
|||||||
b.PrependByteSlot(7, 1, 0)
|
b.PrependByteSlot(7, 1, 0)
|
||||||
b.PrependUOffsetTSlot(8, mon2, 0)
|
b.PrependUOffsetTSlot(8, mon2, 0)
|
||||||
b.PrependUOffsetTSlot(9, test4, 0)
|
b.PrependUOffsetTSlot(9, test4, 0)
|
||||||
|
b.PrependUOffsetTSlot(9, test5, 0)
|
||||||
mon := b.EndObject()
|
mon := b.EndObject()
|
||||||
|
|
||||||
b.Finish(mon)
|
b.Finish(mon)
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -59,6 +59,7 @@ table Monster {
|
|||||||
enemy:MyGame.Example.Monster (id:12); // Test referring by full namespace.
|
enemy:MyGame.Example.Monster (id:12); // Test referring by full namespace.
|
||||||
test:Any (id: 8);
|
test:Any (id: 8);
|
||||||
test4:[Test] (id: 9);
|
test4:[Test] (id: 9);
|
||||||
|
test5:[Test] (id: 31);
|
||||||
testnestedflatbuffer:[ubyte] (id:13, nested_flatbuffer: "Monster");
|
testnestedflatbuffer:[ubyte] (id:13, nested_flatbuffer: "Monster");
|
||||||
testempty:Stat (id:14);
|
testempty:Stat (id:14);
|
||||||
testbool:bool (id:15);
|
testbool:bool (id:15);
|
||||||
|
|||||||
@@ -108,7 +108,8 @@
|
|||||||
"testf3" : { "type" : "number" },
|
"testf3" : { "type" : "number" },
|
||||||
"testarrayofstring2" : { "type" : "array", "items" : { "type" : "string" } },
|
"testarrayofstring2" : { "type" : "array", "items" : { "type" : "string" } },
|
||||||
"testarrayofsortedstruct" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Ability" } },
|
"testarrayofsortedstruct" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Ability" } },
|
||||||
"flex" : { "type" : "array", "items" : { "type" : "number" } }
|
"flex" : { "type" : "array", "items" : { "type" : "number" } },
|
||||||
|
"test5" : { "type" : "array", "items" : { "$ref" : "#/definitions/MyGame_Example_Test" } }
|
||||||
},
|
},
|
||||||
"required" : [ "name"]
|
"required" : [ "name"]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -547,6 +547,7 @@ struct MonsterT : public flatbuffers::NativeTable {
|
|||||||
std::vector<std::string> testarrayofstring2;
|
std::vector<std::string> testarrayofstring2;
|
||||||
std::vector<Ability> testarrayofsortedstruct;
|
std::vector<Ability> testarrayofsortedstruct;
|
||||||
std::vector<uint8_t> flex;
|
std::vector<uint8_t> flex;
|
||||||
|
std::vector<Test> test5;
|
||||||
MonsterT()
|
MonsterT()
|
||||||
: mana(150),
|
: mana(150),
|
||||||
hp(100),
|
hp(100),
|
||||||
@@ -599,7 +600,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
|||||||
VT_TESTF3 = 58,
|
VT_TESTF3 = 58,
|
||||||
VT_TESTARRAYOFSTRING2 = 60,
|
VT_TESTARRAYOFSTRING2 = 60,
|
||||||
VT_TESTARRAYOFSORTEDSTRUCT = 62,
|
VT_TESTARRAYOFSORTEDSTRUCT = 62,
|
||||||
VT_FLEX = 64
|
VT_FLEX = 64,
|
||||||
|
VT_TEST5 = 66
|
||||||
};
|
};
|
||||||
const Vec3 *pos() const {
|
const Vec3 *pos() const {
|
||||||
return GetStruct<const Vec3 *>(VT_POS);
|
return GetStruct<const Vec3 *>(VT_POS);
|
||||||
@@ -807,6 +809,12 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
|||||||
auto v = flex();
|
auto v = flex();
|
||||||
return flexbuffers::GetRoot(v->Data(), v->size());
|
return flexbuffers::GetRoot(v->Data(), v->size());
|
||||||
}
|
}
|
||||||
|
const flatbuffers::Vector<const Test *> *test5() const {
|
||||||
|
return GetPointer<const flatbuffers::Vector<const Test *> *>(VT_TEST5);
|
||||||
|
}
|
||||||
|
flatbuffers::Vector<const Test *> *mutable_test5() {
|
||||||
|
return GetPointer<flatbuffers::Vector<const Test *> *>(VT_TEST5);
|
||||||
|
}
|
||||||
bool Verify(flatbuffers::Verifier &verifier) const {
|
bool Verify(flatbuffers::Verifier &verifier) const {
|
||||||
return VerifyTableStart(verifier) &&
|
return VerifyTableStart(verifier) &&
|
||||||
VerifyField<Vec3>(verifier, VT_POS) &&
|
VerifyField<Vec3>(verifier, VT_POS) &&
|
||||||
@@ -855,6 +863,8 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
|
|||||||
verifier.Verify(testarrayofsortedstruct()) &&
|
verifier.Verify(testarrayofsortedstruct()) &&
|
||||||
VerifyOffset(verifier, VT_FLEX) &&
|
VerifyOffset(verifier, VT_FLEX) &&
|
||||||
verifier.Verify(flex()) &&
|
verifier.Verify(flex()) &&
|
||||||
|
VerifyOffset(verifier, VT_TEST5) &&
|
||||||
|
verifier.Verify(test5()) &&
|
||||||
verifier.EndTable();
|
verifier.EndTable();
|
||||||
}
|
}
|
||||||
MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
MonsterT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const;
|
||||||
@@ -967,13 +977,16 @@ struct MonsterBuilder {
|
|||||||
void add_flex(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> flex) {
|
void add_flex(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> flex) {
|
||||||
fbb_.AddOffset(Monster::VT_FLEX, flex);
|
fbb_.AddOffset(Monster::VT_FLEX, flex);
|
||||||
}
|
}
|
||||||
|
void add_test5(flatbuffers::Offset<flatbuffers::Vector<const Test *>> test5) {
|
||||||
|
fbb_.AddOffset(Monster::VT_TEST5, test5);
|
||||||
|
}
|
||||||
MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb)
|
MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb)
|
||||||
: fbb_(_fbb) {
|
: fbb_(_fbb) {
|
||||||
start_ = fbb_.StartTable();
|
start_ = fbb_.StartTable();
|
||||||
}
|
}
|
||||||
MonsterBuilder &operator=(const MonsterBuilder &);
|
MonsterBuilder &operator=(const MonsterBuilder &);
|
||||||
flatbuffers::Offset<Monster> Finish() {
|
flatbuffers::Offset<Monster> Finish() {
|
||||||
const auto end = fbb_.EndTable(start_, 31);
|
const auto end = fbb_.EndTable(start_, 32);
|
||||||
auto o = flatbuffers::Offset<Monster>(end);
|
auto o = flatbuffers::Offset<Monster>(end);
|
||||||
fbb_.Required(o, Monster::VT_NAME);
|
fbb_.Required(o, Monster::VT_NAME);
|
||||||
return o;
|
return o;
|
||||||
@@ -1011,12 +1024,14 @@ inline flatbuffers::Offset<Monster> CreateMonster(
|
|||||||
float testf3 = 0.0f,
|
float testf3 = 0.0f,
|
||||||
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> testarrayofstring2 = 0,
|
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> testarrayofstring2 = 0,
|
||||||
flatbuffers::Offset<flatbuffers::Vector<const Ability *>> testarrayofsortedstruct = 0,
|
flatbuffers::Offset<flatbuffers::Vector<const Ability *>> testarrayofsortedstruct = 0,
|
||||||
flatbuffers::Offset<flatbuffers::Vector<uint8_t>> flex = 0) {
|
flatbuffers::Offset<flatbuffers::Vector<uint8_t>> flex = 0,
|
||||||
|
flatbuffers::Offset<flatbuffers::Vector<const Test *>> test5 = 0) {
|
||||||
MonsterBuilder builder_(_fbb);
|
MonsterBuilder builder_(_fbb);
|
||||||
builder_.add_testhashu64_fnv1a(testhashu64_fnv1a);
|
builder_.add_testhashu64_fnv1a(testhashu64_fnv1a);
|
||||||
builder_.add_testhashs64_fnv1a(testhashs64_fnv1a);
|
builder_.add_testhashs64_fnv1a(testhashs64_fnv1a);
|
||||||
builder_.add_testhashu64_fnv1(testhashu64_fnv1);
|
builder_.add_testhashu64_fnv1(testhashu64_fnv1);
|
||||||
builder_.add_testhashs64_fnv1(testhashs64_fnv1);
|
builder_.add_testhashs64_fnv1(testhashs64_fnv1);
|
||||||
|
builder_.add_test5(test5);
|
||||||
builder_.add_flex(flex);
|
builder_.add_flex(flex);
|
||||||
builder_.add_testarrayofsortedstruct(testarrayofsortedstruct);
|
builder_.add_testarrayofsortedstruct(testarrayofsortedstruct);
|
||||||
builder_.add_testarrayofstring2(testarrayofstring2);
|
builder_.add_testarrayofstring2(testarrayofstring2);
|
||||||
@@ -1077,7 +1092,8 @@ inline flatbuffers::Offset<Monster> CreateMonsterDirect(
|
|||||||
float testf3 = 0.0f,
|
float testf3 = 0.0f,
|
||||||
const std::vector<flatbuffers::Offset<flatbuffers::String>> *testarrayofstring2 = nullptr,
|
const std::vector<flatbuffers::Offset<flatbuffers::String>> *testarrayofstring2 = nullptr,
|
||||||
const std::vector<const Ability *> *testarrayofsortedstruct = nullptr,
|
const std::vector<const Ability *> *testarrayofsortedstruct = nullptr,
|
||||||
const std::vector<uint8_t> *flex = nullptr) {
|
const std::vector<uint8_t> *flex = nullptr,
|
||||||
|
const std::vector<const Test *> *test5 = nullptr) {
|
||||||
return MyGame::Example::CreateMonster(
|
return MyGame::Example::CreateMonster(
|
||||||
_fbb,
|
_fbb,
|
||||||
pos,
|
pos,
|
||||||
@@ -1109,7 +1125,8 @@ inline flatbuffers::Offset<Monster> CreateMonsterDirect(
|
|||||||
testf3,
|
testf3,
|
||||||
testarrayofstring2 ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*testarrayofstring2) : 0,
|
testarrayofstring2 ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*testarrayofstring2) : 0,
|
||||||
testarrayofsortedstruct ? _fbb.CreateVector<const Ability *>(*testarrayofsortedstruct) : 0,
|
testarrayofsortedstruct ? _fbb.CreateVector<const Ability *>(*testarrayofsortedstruct) : 0,
|
||||||
flex ? _fbb.CreateVector<uint8_t>(*flex) : 0);
|
flex ? _fbb.CreateVector<uint8_t>(*flex) : 0,
|
||||||
|
test5 ? _fbb.CreateVector<const Test *>(*test5) : 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr);
|
||||||
@@ -1242,6 +1259,7 @@ inline void Monster::UnPackTo(MonsterT *_o, const flatbuffers::resolver_function
|
|||||||
{ auto _e = testarrayofstring2(); if (_e) { _o->testarrayofstring2.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->testarrayofstring2[_i] = _e->Get(_i)->str(); } } };
|
{ auto _e = testarrayofstring2(); if (_e) { _o->testarrayofstring2.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->testarrayofstring2[_i] = _e->Get(_i)->str(); } } };
|
||||||
{ auto _e = testarrayofsortedstruct(); if (_e) { _o->testarrayofsortedstruct.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->testarrayofsortedstruct[_i] = *_e->Get(_i); } } };
|
{ auto _e = testarrayofsortedstruct(); if (_e) { _o->testarrayofsortedstruct.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->testarrayofsortedstruct[_i] = *_e->Get(_i); } } };
|
||||||
{ auto _e = flex(); if (_e) { _o->flex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->flex[_i] = _e->Get(_i); } } };
|
{ auto _e = flex(); if (_e) { _o->flex.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->flex[_i] = _e->Get(_i); } } };
|
||||||
|
{ auto _e = test5(); if (_e) { _o->test5.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->test5[_i] = *_e->Get(_i); } } };
|
||||||
}
|
}
|
||||||
|
|
||||||
inline flatbuffers::Offset<Monster> Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
|
inline flatbuffers::Offset<Monster> Monster::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MonsterT* _o, const flatbuffers::rehasher_function_t *_rehasher) {
|
||||||
@@ -1282,6 +1300,7 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder
|
|||||||
auto _testarrayofstring2 = _o->testarrayofstring2.size() ? _fbb.CreateVectorOfStrings(_o->testarrayofstring2) : 0;
|
auto _testarrayofstring2 = _o->testarrayofstring2.size() ? _fbb.CreateVectorOfStrings(_o->testarrayofstring2) : 0;
|
||||||
auto _testarrayofsortedstruct = _o->testarrayofsortedstruct.size() ? _fbb.CreateVectorOfStructs(_o->testarrayofsortedstruct) : 0;
|
auto _testarrayofsortedstruct = _o->testarrayofsortedstruct.size() ? _fbb.CreateVectorOfStructs(_o->testarrayofsortedstruct) : 0;
|
||||||
auto _flex = _o->flex.size() ? _fbb.CreateVector(_o->flex) : 0;
|
auto _flex = _o->flex.size() ? _fbb.CreateVector(_o->flex) : 0;
|
||||||
|
auto _test5 = _o->test5.size() ? _fbb.CreateVectorOfStructs(_o->test5) : 0;
|
||||||
return MyGame::Example::CreateMonster(
|
return MyGame::Example::CreateMonster(
|
||||||
_fbb,
|
_fbb,
|
||||||
_pos,
|
_pos,
|
||||||
@@ -1313,7 +1332,8 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder
|
|||||||
_testf3,
|
_testf3,
|
||||||
_testarrayofstring2,
|
_testarrayofstring2,
|
||||||
_testarrayofsortedstruct,
|
_testarrayofsortedstruct,
|
||||||
_flex);
|
_flex,
|
||||||
|
_test5);
|
||||||
}
|
}
|
||||||
|
|
||||||
inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *obj, Any type) {
|
inline bool VerifyAny(flatbuffers::Verifier &verifier, const void *obj, Any type) {
|
||||||
|
|||||||
@@ -1296,11 +1296,29 @@ MyGame.Example.Monster.prototype.flexArray = function() {
|
|||||||
return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number} index
|
||||||
|
* @param {MyGame.Example.Test=} obj
|
||||||
|
* @returns {MyGame.Example.Test}
|
||||||
|
*/
|
||||||
|
MyGame.Example.Monster.prototype.test5 = function(index, obj) {
|
||||||
|
var offset = this.bb.__offset(this.bb_pos, 66);
|
||||||
|
return offset ? (obj || new MyGame.Example.Test).__init(this.bb.__vector(this.bb_pos + offset) + index * 4, this.bb) : null;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {number}
|
||||||
|
*/
|
||||||
|
MyGame.Example.Monster.prototype.test5Length = function() {
|
||||||
|
var offset = this.bb.__offset(this.bb_pos, 66);
|
||||||
|
return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {flatbuffers.Builder} builder
|
* @param {flatbuffers.Builder} builder
|
||||||
*/
|
*/
|
||||||
MyGame.Example.Monster.startMonster = function(builder) {
|
MyGame.Example.Monster.startMonster = function(builder) {
|
||||||
builder.startObject(31);
|
builder.startObject(32);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1706,6 +1724,22 @@ MyGame.Example.Monster.startFlexVector = function(builder, numElems) {
|
|||||||
builder.startVector(1, numElems, 1);
|
builder.startVector(1, numElems, 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {flatbuffers.Builder} builder
|
||||||
|
* @param {flatbuffers.Offset} test5Offset
|
||||||
|
*/
|
||||||
|
MyGame.Example.Monster.addTest5 = function(builder, test5Offset) {
|
||||||
|
builder.addFieldOffset(31, test5Offset, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {flatbuffers.Builder} builder
|
||||||
|
* @param {number} numElems
|
||||||
|
*/
|
||||||
|
MyGame.Example.Monster.startTest5Vector = function(builder, numElems) {
|
||||||
|
builder.startVector(4, numElems, 2);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {flatbuffers.Builder} builder
|
* @param {flatbuffers.Builder} builder
|
||||||
* @returns {flatbuffers.Offset}
|
* @returns {flatbuffers.Offset}
|
||||||
|
|||||||
@@ -1287,11 +1287,29 @@ flexArray():Uint8Array|null {
|
|||||||
return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
return offset ? new Uint8Array(this.bb.bytes().buffer, this.bb.bytes().byteOffset + this.bb.__vector(this.bb_pos + offset), this.bb.__vector_len(this.bb_pos + offset)) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {number} index
|
||||||
|
* @param {MyGame.Example.Test=} obj
|
||||||
|
* @returns {MyGame.Example.Test}
|
||||||
|
*/
|
||||||
|
test5(index: number, obj?:MyGame.Example.Test):MyGame.Example.Test|null {
|
||||||
|
var offset = this.bb.__offset(this.bb_pos, 66);
|
||||||
|
return offset ? (obj || new MyGame.Example.Test).__init(this.bb.__vector(this.bb_pos + offset) + index * 4, this.bb) : null;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @returns {number}
|
||||||
|
*/
|
||||||
|
test5Length():number {
|
||||||
|
var offset = this.bb.__offset(this.bb_pos, 66);
|
||||||
|
return offset ? this.bb.__vector_len(this.bb_pos + offset) : 0;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {flatbuffers.Builder} builder
|
* @param {flatbuffers.Builder} builder
|
||||||
*/
|
*/
|
||||||
static startMonster(builder:flatbuffers.Builder) {
|
static startMonster(builder:flatbuffers.Builder) {
|
||||||
builder.startObject(31);
|
builder.startObject(32);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1697,6 +1715,22 @@ static startFlexVector(builder:flatbuffers.Builder, numElems:number) {
|
|||||||
builder.startVector(1, numElems, 1);
|
builder.startVector(1, numElems, 1);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {flatbuffers.Builder} builder
|
||||||
|
* @param {flatbuffers.Offset} test5Offset
|
||||||
|
*/
|
||||||
|
static addTest5(builder:flatbuffers.Builder, test5Offset:flatbuffers.Offset) {
|
||||||
|
builder.addFieldOffset(31, test5Offset, 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param {flatbuffers.Builder} builder
|
||||||
|
* @param {number} numElems
|
||||||
|
*/
|
||||||
|
static startTest5Vector(builder:flatbuffers.Builder, numElems:number) {
|
||||||
|
builder.startVector(4, numElems, 2);
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {flatbuffers.Builder} builder
|
* @param {flatbuffers.Builder} builder
|
||||||
* @returns {flatbuffers.Offset}
|
* @returns {flatbuffers.Offset}
|
||||||
|
|||||||
Binary file not shown.
@@ -64,5 +64,15 @@
|
|||||||
testhashu32_fnv1a: 2390860913,
|
testhashu32_fnv1a: 2390860913,
|
||||||
testhashs64_fnv1a: 4898026182817603057,
|
testhashs64_fnv1a: 4898026182817603057,
|
||||||
testhashu64_fnv1a: 4898026182817603057,
|
testhashu64_fnv1a: 4898026182817603057,
|
||||||
flex: 1234
|
flex: 1234,
|
||||||
|
test5: [
|
||||||
|
{
|
||||||
|
a: 10,
|
||||||
|
b: 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
a: 30,
|
||||||
|
b: 40
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,16 @@
|
|||||||
a: 30
|
a: 30
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
test5: [
|
||||||
|
{
|
||||||
|
a: 10,
|
||||||
|
b: 20
|
||||||
|
},
|
||||||
|
{
|
||||||
|
b: "40",
|
||||||
|
a: 30
|
||||||
|
}
|
||||||
|
],
|
||||||
testarrayofstring: [
|
testarrayofstring: [
|
||||||
"test1",
|
"test1",
|
||||||
"test2"
|
"test2"
|
||||||
|
|||||||
Binary file not shown.
@@ -1,6 +1,6 @@
|
|||||||
// automatically generated by the FlatBuffers compiler, do not modify
|
// automatically generated by the FlatBuffers compiler, do not modify
|
||||||
|
|
||||||
import * as NS3029350602 from "./namespace_test1_generated";
|
import * as NS9459827973991502386 from "./namespace_test1_generated";
|
||||||
/**
|
/**
|
||||||
* @constructor
|
* @constructor
|
||||||
*/
|
*/
|
||||||
@@ -39,24 +39,24 @@ static getRootAsTableInFirstNS(bb:flatbuffers.ByteBuffer, obj?:TableInFirstNS):T
|
|||||||
* @param {NamespaceA.NamespaceB.TableInNestedNS=} obj
|
* @param {NamespaceA.NamespaceB.TableInNestedNS=} obj
|
||||||
* @returns {NamespaceA.NamespaceB.TableInNestedNS|null}
|
* @returns {NamespaceA.NamespaceB.TableInNestedNS|null}
|
||||||
*/
|
*/
|
||||||
fooTable(obj?:NS3029350602.NamespaceA.NamespaceB.TableInNestedNS):NS3029350602.NamespaceA.NamespaceB.TableInNestedNS|null {
|
fooTable(obj?:NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS):NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS|null {
|
||||||
var offset = this.bb.__offset(this.bb_pos, 4);
|
var offset = this.bb.__offset(this.bb_pos, 4);
|
||||||
return offset ? (obj || new NS3029350602.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
|
return offset ? (obj || new NS9459827973991502386.NamespaceA.NamespaceB.TableInNestedNS).__init(this.bb.__indirect(this.bb_pos + offset), this.bb) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {NamespaceA.NamespaceB.EnumInNestedNS}
|
* @returns {NamespaceA.NamespaceB.EnumInNestedNS}
|
||||||
*/
|
*/
|
||||||
fooEnum():NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS {
|
fooEnum():NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS {
|
||||||
var offset = this.bb.__offset(this.bb_pos, 6);
|
var offset = this.bb.__offset(this.bb_pos, 6);
|
||||||
return offset ? /** @type {NamespaceA.NamespaceB.EnumInNestedNS} */ (this.bb.readInt8(this.bb_pos + offset)) : NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS.A;
|
return offset ? /** @type {NamespaceA.NamespaceB.EnumInNestedNS} */ (this.bb.readInt8(this.bb_pos + offset)) : NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS.A;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param {NamespaceA.NamespaceB.EnumInNestedNS} value
|
* @param {NamespaceA.NamespaceB.EnumInNestedNS} value
|
||||||
* @returns {boolean}
|
* @returns {boolean}
|
||||||
*/
|
*/
|
||||||
mutate_foo_enum(value:NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS):boolean {
|
mutate_foo_enum(value:NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS):boolean {
|
||||||
var offset = this.bb.__offset(this.bb_pos, 6);
|
var offset = this.bb.__offset(this.bb_pos, 6);
|
||||||
|
|
||||||
if (offset === 0) {
|
if (offset === 0) {
|
||||||
@@ -71,9 +71,9 @@ mutate_foo_enum(value:NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS):boolean
|
|||||||
* @param {NamespaceA.NamespaceB.StructInNestedNS=} obj
|
* @param {NamespaceA.NamespaceB.StructInNestedNS=} obj
|
||||||
* @returns {NamespaceA.NamespaceB.StructInNestedNS|null}
|
* @returns {NamespaceA.NamespaceB.StructInNestedNS|null}
|
||||||
*/
|
*/
|
||||||
fooStruct(obj?:NS3029350602.NamespaceA.NamespaceB.StructInNestedNS):NS3029350602.NamespaceA.NamespaceB.StructInNestedNS|null {
|
fooStruct(obj?:NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS):NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS|null {
|
||||||
var offset = this.bb.__offset(this.bb_pos, 8);
|
var offset = this.bb.__offset(this.bb_pos, 8);
|
||||||
return offset ? (obj || new NS3029350602.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb) : null;
|
return offset ? (obj || new NS9459827973991502386.NamespaceA.NamespaceB.StructInNestedNS).__init(this.bb_pos + offset, this.bb) : null;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -95,8 +95,8 @@ static addFooTable(builder:flatbuffers.Builder, fooTableOffset:flatbuffers.Offse
|
|||||||
* @param {flatbuffers.Builder} builder
|
* @param {flatbuffers.Builder} builder
|
||||||
* @param {NamespaceA.NamespaceB.EnumInNestedNS} fooEnum
|
* @param {NamespaceA.NamespaceB.EnumInNestedNS} fooEnum
|
||||||
*/
|
*/
|
||||||
static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS) {
|
static addFooEnum(builder:flatbuffers.Builder, fooEnum:NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS) {
|
||||||
builder.addFieldInt8(1, fooEnum, NS3029350602.NamespaceA.NamespaceB.EnumInNestedNS.A);
|
builder.addFieldInt8(1, fooEnum, NS9459827973991502386.NamespaceA.NamespaceB.EnumInNestedNS.A);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -103,6 +103,21 @@ flatbuffers::DetachedBuffer CreateFlatBufferTest(std::string &buffer) {
|
|||||||
Test tests[] = { Test(10, 20), Test(30, 40) };
|
Test tests[] = { Test(10, 20), Test(30, 40) };
|
||||||
auto testv = builder.CreateVectorOfStructs(tests, 2);
|
auto testv = builder.CreateVectorOfStructs(tests, 2);
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FLATBUFFERS_CPP98_STL
|
||||||
|
// Create a vector of structures from a lambda.
|
||||||
|
auto testv2 = builder.CreateVectorOfStructs<Test>(
|
||||||
|
2, [&](size_t i, Test* s) -> void {
|
||||||
|
*s = tests[i];
|
||||||
|
});
|
||||||
|
#else
|
||||||
|
// Create a vector of structures using a plain old C++ function.
|
||||||
|
auto testv2 = builder.CreateVectorOfStructs<Test>(
|
||||||
|
2, [](size_t i, Test* s, void *state) -> void {
|
||||||
|
*s = (reinterpret_cast<Test*>(state))[i];
|
||||||
|
}, tests);
|
||||||
|
#endif // FLATBUFFERS_CPP98_STL
|
||||||
|
|
||||||
// create monster with very few fields set:
|
// create monster with very few fields set:
|
||||||
// (same functionality as CreateMonster below, but sets fields manually)
|
// (same functionality as CreateMonster below, but sets fields manually)
|
||||||
flatbuffers::Offset<Monster> mlocs[3];
|
flatbuffers::Offset<Monster> mlocs[3];
|
||||||
@@ -181,7 +196,7 @@ flatbuffers::DetachedBuffer CreateFlatBufferTest(std::string &buffer) {
|
|||||||
testv, vecofstrings, vecoftables, 0,
|
testv, vecofstrings, vecoftables, 0,
|
||||||
nested_flatbuffer_vector, 0, false,
|
nested_flatbuffer_vector, 0, false,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 3.14159f, 3.0f, 0.0f,
|
0, 0, 0, 0, 0, 0, 0, 0, 0, 3.14159f, 3.0f, 0.0f,
|
||||||
vecofstrings2, vecofstructs, flex);
|
vecofstrings2, vecofstructs, flex, testv2);
|
||||||
|
|
||||||
FinishMonsterBuffer(builder, mloc);
|
FinishMonsterBuffer(builder, mloc);
|
||||||
|
|
||||||
@@ -323,16 +338,22 @@ void AccessFlatBufferTest(const uint8_t *flatbuf, size_t length,
|
|||||||
TEST_EQ(flatbuffers::AlignOf<Test>(), 2UL);
|
TEST_EQ(flatbuffers::AlignOf<Test>(), 2UL);
|
||||||
TEST_EQ(sizeof(Test), 4UL);
|
TEST_EQ(sizeof(Test), 4UL);
|
||||||
|
|
||||||
auto tests = monster->test4();
|
const flatbuffers::Vector<const Test *>* tests_array[] = {
|
||||||
TEST_NOTNULL(tests);
|
monster->test4(),
|
||||||
auto test_0 = tests->Get(0);
|
monster->test5(),
|
||||||
auto test_1 = tests->Get(1);
|
};
|
||||||
TEST_EQ(test_0->a(), 10);
|
for (size_t i = 0; i < sizeof(tests_array) / sizeof(tests_array[0]); ++i) {
|
||||||
TEST_EQ(test_0->b(), 20);
|
auto tests = tests_array[i];
|
||||||
TEST_EQ(test_1->a(), 30);
|
TEST_NOTNULL(tests);
|
||||||
TEST_EQ(test_1->b(), 40);
|
auto test_0 = tests->Get(0);
|
||||||
for (auto it = tests->begin(); it != tests->end(); ++it) {
|
auto test_1 = tests->Get(1);
|
||||||
TEST_EQ(it->a() == 10 || it->a() == 30, true); // Just testing iterators.
|
TEST_EQ(test_0->a(), 10);
|
||||||
|
TEST_EQ(test_0->b(), 20);
|
||||||
|
TEST_EQ(test_1->a(), 30);
|
||||||
|
TEST_EQ(test_1->b(), 40);
|
||||||
|
for (auto it = tests->begin(); it != tests->end(); ++it) {
|
||||||
|
TEST_EQ(it->a() == 10 || it->a() == 30, true); // Just testing iterators.
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Checking for presence of fields:
|
// Checking for presence of fields:
|
||||||
|
|||||||
Reference in New Issue
Block a user