mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-19 02:03:06 +00:00
added support for parsing hash on vector elements (#4502)
* added support for parsing hash on vector elements reversed check for scalar to check for vector added C++ generation of cpp_type vectors removed ctor call for vector fields added condition !vector for cpp_type check added Pack() and UnPack() code generation for vector of hashes * schema change: added table Referrable and weak references towards it from Monster added single_weak_reference to Monster table changed order with vector_of_weak_references * re-generated monster schema dependent code added Referrable.cs to FlatBuffers.Test.csproj
This commit is contained in:
committed by
Wouter van Oortmerssen
parent
132e6a8220
commit
59e26017cb
@@ -529,8 +529,57 @@ func (rcv *Monster) ParentNamespaceTest(obj *InParentNamespace) *InParentNamespa
|
||||
return nil
|
||||
}
|
||||
|
||||
func (rcv *Monster) VectorOfReferrables(obj *Referrable, j int) bool {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(74))
|
||||
if o != 0 {
|
||||
x := rcv._tab.Vector(o)
|
||||
x += flatbuffers.UOffsetT(j) * 4
|
||||
x = rcv._tab.Indirect(x)
|
||||
obj.Init(rcv._tab.Bytes, x)
|
||||
return true
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (rcv *Monster) VectorOfReferrablesLength() int {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(74))
|
||||
if o != 0 {
|
||||
return rcv._tab.VectorLen(o)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (rcv *Monster) SingleWeakReference() uint64 {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(76))
|
||||
if o != 0 {
|
||||
return rcv._tab.GetUint64(o + rcv._tab.Pos)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (rcv *Monster) MutateSingleWeakReference(n uint64) bool {
|
||||
return rcv._tab.MutateUint64Slot(76, n)
|
||||
}
|
||||
|
||||
func (rcv *Monster) VectorOfWeakReferences(j int) uint64 {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(78))
|
||||
if o != 0 {
|
||||
a := rcv._tab.Vector(o)
|
||||
return rcv._tab.GetUint64(a + flatbuffers.UOffsetT(j*8))
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (rcv *Monster) VectorOfWeakReferencesLength() int {
|
||||
o := flatbuffers.UOffsetT(rcv._tab.Offset(78))
|
||||
if o != 0 {
|
||||
return rcv._tab.VectorLen(o)
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func MonsterStart(builder *flatbuffers.Builder) {
|
||||
builder.StartObject(35)
|
||||
builder.StartObject(38)
|
||||
}
|
||||
func MonsterAddPos(builder *flatbuffers.Builder, pos flatbuffers.UOffsetT) {
|
||||
builder.PrependStructSlot(0, flatbuffers.UOffsetT(pos), 0)
|
||||
@@ -670,6 +719,21 @@ func MonsterStartVectorOfDoublesVector(builder *flatbuffers.Builder, numElems in
|
||||
func MonsterAddParentNamespaceTest(builder *flatbuffers.Builder, parentNamespaceTest flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(34, flatbuffers.UOffsetT(parentNamespaceTest), 0)
|
||||
}
|
||||
func MonsterAddVectorOfReferrables(builder *flatbuffers.Builder, vectorOfReferrables flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(35, flatbuffers.UOffsetT(vectorOfReferrables), 0)
|
||||
}
|
||||
func MonsterStartVectorOfReferrablesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(4, numElems, 4)
|
||||
}
|
||||
func MonsterAddSingleWeakReference(builder *flatbuffers.Builder, singleWeakReference uint64) {
|
||||
builder.PrependUint64Slot(36, singleWeakReference, 0)
|
||||
}
|
||||
func MonsterAddVectorOfWeakReferences(builder *flatbuffers.Builder, vectorOfWeakReferences flatbuffers.UOffsetT) {
|
||||
builder.PrependUOffsetTSlot(37, flatbuffers.UOffsetT(vectorOfWeakReferences), 0)
|
||||
}
|
||||
func MonsterStartVectorOfWeakReferencesVector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
|
||||
return builder.StartVector(8, numElems, 8)
|
||||
}
|
||||
func MonsterEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
|
||||
return builder.EndObject()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user