File: StructOfStructs.go

package info (click to toggle)
golang-github-google-flatbuffers 24.3.25-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 17,356 kB
  • sloc: cpp: 49,726; python: 6,901; cs: 5,566; java: 4,370; ansic: 2,512; php: 1,460; javascript: 1,053; xml: 1,016; sh: 870; makefile: 13
file content (84 lines) | stat: -rw-r--r-- 1,917 bytes parent folder | download | duplicates (10)
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
// Code generated by the FlatBuffers compiler. DO NOT EDIT.

package Example

import (
	flatbuffers "github.com/google/flatbuffers/go"
)

type StructOfStructsT struct {
	A *AbilityT `json:"a"`
	B *TestT `json:"b"`
	C *AbilityT `json:"c"`
}

func (t *StructOfStructsT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
	if t == nil {
		return 0
	}
	return CreateStructOfStructs(builder, t.A.Id, t.A.Distance, t.B.A, t.B.B, t.C.Id, t.C.Distance)
}
func (rcv *StructOfStructs) UnPackTo(t *StructOfStructsT) {
	t.A = rcv.A(nil).UnPack()
	t.B = rcv.B(nil).UnPack()
	t.C = rcv.C(nil).UnPack()
}

func (rcv *StructOfStructs) UnPack() *StructOfStructsT {
	if rcv == nil {
		return nil
	}
	t := &StructOfStructsT{}
	rcv.UnPackTo(t)
	return t
}

type StructOfStructs struct {
	_tab flatbuffers.Struct
}

func (rcv *StructOfStructs) Init(buf []byte, i flatbuffers.UOffsetT) {
	rcv._tab.Bytes = buf
	rcv._tab.Pos = i
}

func (rcv *StructOfStructs) Table() flatbuffers.Table {
	return rcv._tab.Table
}

func (rcv *StructOfStructs) A(obj *Ability) *Ability {
	if obj == nil {
		obj = new(Ability)
	}
	obj.Init(rcv._tab.Bytes, rcv._tab.Pos+0)
	return obj
}
func (rcv *StructOfStructs) B(obj *Test) *Test {
	if obj == nil {
		obj = new(Test)
	}
	obj.Init(rcv._tab.Bytes, rcv._tab.Pos+8)
	return obj
}
func (rcv *StructOfStructs) C(obj *Ability) *Ability {
	if obj == nil {
		obj = new(Ability)
	}
	obj.Init(rcv._tab.Bytes, rcv._tab.Pos+12)
	return obj
}

func CreateStructOfStructs(builder *flatbuffers.Builder, a_id uint32, a_distance uint32, b_a int16, b_b int8, c_id uint32, c_distance uint32) flatbuffers.UOffsetT {
	builder.Prep(4, 20)
	builder.Prep(4, 8)
	builder.PrependUint32(c_distance)
	builder.PrependUint32(c_id)
	builder.Prep(2, 4)
	builder.Pad(1)
	builder.PrependInt8(b_b)
	builder.PrependInt16(b_a)
	builder.Prep(4, 8)
	builder.PrependUint32(a_distance)
	builder.PrependUint32(a_id)
	return builder.Offset()
}