1// Code generated by the FlatBuffers compiler. DO NOT EDIT.
2
3package Example
4
5import (
6	flatbuffers "github.com/google/flatbuffers/go"
7)
8
9type ReferrableT struct {
10	Id uint64
11}
12
13func (t *ReferrableT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
14	if t == nil { return 0 }
15	ReferrableStart(builder)
16	ReferrableAddId(builder, t.Id)
17	return ReferrableEnd(builder)
18}
19
20func (rcv *Referrable) UnPackTo(t *ReferrableT) {
21	t.Id = rcv.Id()
22}
23
24func (rcv *Referrable) UnPack() *ReferrableT {
25	if rcv == nil { return nil }
26	t := &ReferrableT{}
27	rcv.UnPackTo(t)
28	return t
29}
30
31type Referrable struct {
32	_tab flatbuffers.Table
33}
34
35func GetRootAsReferrable(buf []byte, offset flatbuffers.UOffsetT) *Referrable {
36	n := flatbuffers.GetUOffsetT(buf[offset:])
37	x := &Referrable{}
38	x.Init(buf, n+offset)
39	return x
40}
41
42func GetSizePrefixedRootAsReferrable(buf []byte, offset flatbuffers.UOffsetT) *Referrable {
43	n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
44	x := &Referrable{}
45	x.Init(buf, n+offset+flatbuffers.SizeUint32)
46	return x
47}
48
49func (rcv *Referrable) Init(buf []byte, i flatbuffers.UOffsetT) {
50	rcv._tab.Bytes = buf
51	rcv._tab.Pos = i
52}
53
54func (rcv *Referrable) Table() flatbuffers.Table {
55	return rcv._tab
56}
57
58func (rcv *Referrable) Id() uint64 {
59	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
60	if o != 0 {
61		return rcv._tab.GetUint64(o + rcv._tab.Pos)
62	}
63	return 0
64}
65
66func (rcv *Referrable) MutateId(n uint64) bool {
67	return rcv._tab.MutateUint64Slot(4, n)
68}
69
70func ReferrableStart(builder *flatbuffers.Builder) {
71	builder.StartObject(1)
72}
73func ReferrableAddId(builder *flatbuffers.Builder, id uint64) {
74	builder.PrependUint64Slot(0, id, 0)
75}
76func ReferrableEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
77	return builder.EndObject()
78}
79