-
Notifications
You must be signed in to change notification settings - Fork 0
/
MutexGroupPart2.go
109 lines (95 loc) · 3.05 KB
/
MutexGroupPart2.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
// Code generated by the FlatBuffers compiler. DO NOT EDIT.
package fbtypes
import (
flatbuffers "github.com/google/flatbuffers/go"
)
/// The second group of optional parameters, which mutually exclude each other
type MutexGroupPart2T struct {
GroupPart2 []*MutexGroupPart1T
}
func (t *MutexGroupPart2T) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
if t == nil { return 0 }
groupPart2Offset := flatbuffers.UOffsetT(0)
if t.GroupPart2 != nil {
groupPart2Length := len(t.GroupPart2)
groupPart2Offsets := make([]flatbuffers.UOffsetT, groupPart2Length)
for j := 0; j < groupPart2Length; j++ {
groupPart2Offsets[j] = t.GroupPart2[j].Pack(builder)
}
MutexGroupPart2StartGroupPart2Vector(builder, groupPart2Length)
for j := groupPart2Length - 1; j >= 0; j-- {
builder.PrependUOffsetT(groupPart2Offsets[j])
}
groupPart2Offset = builder.EndVector(groupPart2Length)
}
MutexGroupPart2Start(builder)
MutexGroupPart2AddGroupPart2(builder, groupPart2Offset)
return MutexGroupPart2End(builder)
}
func (rcv *MutexGroupPart2) UnPackTo(t *MutexGroupPart2T) {
groupPart2Length := rcv.GroupPart2Length()
t.GroupPart2 = make([]*MutexGroupPart1T, groupPart2Length)
for j := 0; j < groupPart2Length; j++ {
x := MutexGroupPart1{}
rcv.GroupPart2(&x, j)
t.GroupPart2[j] = x.UnPack()
}
}
func (rcv *MutexGroupPart2) UnPack() *MutexGroupPart2T {
if rcv == nil { return nil }
t := &MutexGroupPart2T{}
rcv.UnPackTo(t)
return t
}
type MutexGroupPart2 struct {
_tab flatbuffers.Table
}
func GetRootAsMutexGroupPart2(buf []byte, offset flatbuffers.UOffsetT) *MutexGroupPart2 {
n := flatbuffers.GetUOffsetT(buf[offset:])
x := &MutexGroupPart2{}
x.Init(buf, n+offset)
return x
}
func GetSizePrefixedRootAsMutexGroupPart2(buf []byte, offset flatbuffers.UOffsetT) *MutexGroupPart2 {
n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
x := &MutexGroupPart2{}
x.Init(buf, n+offset+flatbuffers.SizeUint32)
return x
}
func (rcv *MutexGroupPart2) Init(buf []byte, i flatbuffers.UOffsetT) {
rcv._tab.Bytes = buf
rcv._tab.Pos = i
}
func (rcv *MutexGroupPart2) Table() flatbuffers.Table {
return rcv._tab
}
func (rcv *MutexGroupPart2) GroupPart2(obj *MutexGroupPart1, j int) bool {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
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 *MutexGroupPart2) GroupPart2Length() int {
o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
if o != 0 {
return rcv._tab.VectorLen(o)
}
return 0
}
func MutexGroupPart2Start(builder *flatbuffers.Builder) {
builder.StartObject(1)
}
func MutexGroupPart2AddGroupPart2(builder *flatbuffers.Builder, groupPart2 flatbuffers.UOffsetT) {
builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(groupPart2), 0)
}
func MutexGroupPart2StartGroupPart2Vector(builder *flatbuffers.Builder, numElems int) flatbuffers.UOffsetT {
return builder.StartVector(4, numElems, 4)
}
func MutexGroupPart2End(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
return builder.EndObject()
}