| // Code generated by the FlatBuffers compiler. DO NOT EDIT. | |
| package Example | |
| import ( | |
| flatbuffers "github.com/google/flatbuffers/go" | |
| ) | |
| type StatT struct { | |
| Id string `json:"id"` | |
| Val int64 `json:"val"` | |
| Count uint16 `json:"count"` | |
| } | |
| func (t *StatT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT { | |
| if t == nil { | |
| return 0 | |
| } | |
| idOffset := flatbuffers.UOffsetT(0) | |
| if t.Id != "" { | |
| idOffset = builder.CreateString(t.Id) | |
| } | |
| StatStart(builder) | |
| StatAddId(builder, idOffset) | |
| StatAddVal(builder, t.Val) | |
| StatAddCount(builder, t.Count) | |
| return StatEnd(builder) | |
| } | |
| func (rcv *Stat) UnPackTo(t *StatT) { | |
| t.Id = string(rcv.Id()) | |
| t.Val = rcv.Val() | |
| t.Count = rcv.Count() | |
| } | |
| func (rcv *Stat) UnPack() *StatT { | |
| if rcv == nil { | |
| return nil | |
| } | |
| t := &StatT{} | |
| rcv.UnPackTo(t) | |
| return t | |
| } | |
| type Stat struct { | |
| _tab flatbuffers.Table | |
| } | |
| func GetRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat { | |
| n := flatbuffers.GetUOffsetT(buf[offset:]) | |
| x := &Stat{} | |
| x.Init(buf, n+offset) | |
| return x | |
| } | |
| func FinishStatBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { | |
| builder.Finish(offset) | |
| } | |
| func GetSizePrefixedRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat { | |
| n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:]) | |
| x := &Stat{} | |
| x.Init(buf, n+offset+flatbuffers.SizeUint32) | |
| return x | |
| } | |
| func FinishSizePrefixedStatBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) { | |
| builder.FinishSizePrefixed(offset) | |
| } | |
| func (rcv *Stat) Init(buf []byte, i flatbuffers.UOffsetT) { | |
| rcv._tab.Bytes = buf | |
| rcv._tab.Pos = i | |
| } | |
| func (rcv *Stat) Table() flatbuffers.Table { | |
| return rcv._tab | |
| } | |
| func (rcv *Stat) Id() []byte { | |
| o := flatbuffers.UOffsetT(rcv._tab.Offset(4)) | |
| if o != 0 { | |
| return rcv._tab.ByteVector(o + rcv._tab.Pos) | |
| } | |
| return nil | |
| } | |
| func (rcv *Stat) Val() int64 { | |
| o := flatbuffers.UOffsetT(rcv._tab.Offset(6)) | |
| if o != 0 { | |
| return rcv._tab.GetInt64(o + rcv._tab.Pos) | |
| } | |
| return 0 | |
| } | |
| func (rcv *Stat) MutateVal(n int64) bool { | |
| return rcv._tab.MutateInt64Slot(6, n) | |
| } | |
| func (rcv *Stat) Count() uint16 { | |
| o := flatbuffers.UOffsetT(rcv._tab.Offset(8)) | |
| if o != 0 { | |
| return rcv._tab.GetUint16(o + rcv._tab.Pos) | |
| } | |
| return 0 | |
| } | |
| func (rcv *Stat) MutateCount(n uint16) bool { | |
| return rcv._tab.MutateUint16Slot(8, n) | |
| } | |
| func StatKeyCompare(o1, o2 flatbuffers.UOffsetT, buf []byte) bool { | |
| obj1 := &Stat{} | |
| obj2 := &Stat{} | |
| obj1.Init(buf, flatbuffers.UOffsetT(len(buf))-o1) | |
| obj2.Init(buf, flatbuffers.UOffsetT(len(buf))-o2) | |
| return obj1.Count() < obj2.Count() | |
| } | |
| func (rcv *Stat) LookupByKey(key uint16, vectorLocation flatbuffers.UOffsetT, buf []byte) bool { | |
| span := flatbuffers.GetUOffsetT(buf[vectorLocation-4:]) | |
| start := flatbuffers.UOffsetT(0) | |
| for span != 0 { | |
| middle := span / 2 | |
| tableOffset := flatbuffers.GetIndirectOffset(buf, vectorLocation+4*(start+middle)) | |
| obj := &Stat{} | |
| obj.Init(buf, tableOffset) | |
| val := obj.Count() | |
| comp := 0 | |
| if val > key { | |
| comp = 1 | |
| } else if val < key { | |
| comp = -1 | |
| } | |
| if comp > 0 { | |
| span = middle | |
| } else if comp < 0 { | |
| middle += 1 | |
| start += middle | |
| span -= middle | |
| } else { | |
| rcv.Init(buf, tableOffset) | |
| return true | |
| } | |
| } | |
| return false | |
| } | |
| func StatStart(builder *flatbuffers.Builder) { | |
| builder.StartObject(3) | |
| } | |
| func StatAddId(builder *flatbuffers.Builder, id flatbuffers.UOffsetT) { | |
| builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(id), 0) | |
| } | |
| func StatAddVal(builder *flatbuffers.Builder, val int64) { | |
| builder.PrependInt64Slot(1, val, 0) | |
| } | |
| func StatAddCount(builder *flatbuffers.Builder, count uint16) { | |
| builder.PrependUint16Slot(2, count, 0) | |
| } | |
| func StatEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT { | |
| return builder.EndObject() | |
| } |