...

Source file src/github.com/google/flatbuffers/tests/MyGame/Example/Stat.go

Documentation: github.com/google/flatbuffers/tests/MyGame/Example

     1  // Code generated by the FlatBuffers compiler. DO NOT EDIT.
     2  
     3  package Example
     4  
     5  import (
     6  	flatbuffers "github.com/google/flatbuffers/go"
     7  )
     8  
     9  type StatT struct {
    10  	Id string `json:"id"`
    11  	Val int64 `json:"val"`
    12  	Count uint16 `json:"count"`
    13  }
    14  
    15  func (t *StatT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
    16  	if t == nil {
    17  		return 0
    18  	}
    19  	idOffset := flatbuffers.UOffsetT(0)
    20  	if t.Id != "" {
    21  		idOffset = builder.CreateString(t.Id)
    22  	}
    23  	StatStart(builder)
    24  	StatAddId(builder, idOffset)
    25  	StatAddVal(builder, t.Val)
    26  	StatAddCount(builder, t.Count)
    27  	return StatEnd(builder)
    28  }
    29  
    30  func (rcv *Stat) UnPackTo(t *StatT) {
    31  	t.Id = string(rcv.Id())
    32  	t.Val = rcv.Val()
    33  	t.Count = rcv.Count()
    34  }
    35  
    36  func (rcv *Stat) UnPack() *StatT {
    37  	if rcv == nil {
    38  		return nil
    39  	}
    40  	t := &StatT{}
    41  	rcv.UnPackTo(t)
    42  	return t
    43  }
    44  
    45  type Stat struct {
    46  	_tab flatbuffers.Table
    47  }
    48  
    49  func GetRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat {
    50  	n := flatbuffers.GetUOffsetT(buf[offset:])
    51  	x := &Stat{}
    52  	x.Init(buf, n+offset)
    53  	return x
    54  }
    55  
    56  func FinishStatBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
    57  	builder.Finish(offset)
    58  }
    59  
    60  func GetSizePrefixedRootAsStat(buf []byte, offset flatbuffers.UOffsetT) *Stat {
    61  	n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
    62  	x := &Stat{}
    63  	x.Init(buf, n+offset+flatbuffers.SizeUint32)
    64  	return x
    65  }
    66  
    67  func FinishSizePrefixedStatBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
    68  	builder.FinishSizePrefixed(offset)
    69  }
    70  
    71  func (rcv *Stat) Init(buf []byte, i flatbuffers.UOffsetT) {
    72  	rcv._tab.Bytes = buf
    73  	rcv._tab.Pos = i
    74  }
    75  
    76  func (rcv *Stat) Table() flatbuffers.Table {
    77  	return rcv._tab
    78  }
    79  
    80  func (rcv *Stat) Id() []byte {
    81  	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
    82  	if o != 0 {
    83  		return rcv._tab.ByteVector(o + rcv._tab.Pos)
    84  	}
    85  	return nil
    86  }
    87  
    88  func (rcv *Stat) Val() int64 {
    89  	o := flatbuffers.UOffsetT(rcv._tab.Offset(6))
    90  	if o != 0 {
    91  		return rcv._tab.GetInt64(o + rcv._tab.Pos)
    92  	}
    93  	return 0
    94  }
    95  
    96  func (rcv *Stat) MutateVal(n int64) bool {
    97  	return rcv._tab.MutateInt64Slot(6, n)
    98  }
    99  
   100  func (rcv *Stat) Count() uint16 {
   101  	o := flatbuffers.UOffsetT(rcv._tab.Offset(8))
   102  	if o != 0 {
   103  		return rcv._tab.GetUint16(o + rcv._tab.Pos)
   104  	}
   105  	return 0
   106  }
   107  
   108  func (rcv *Stat) MutateCount(n uint16) bool {
   109  	return rcv._tab.MutateUint16Slot(8, n)
   110  }
   111  
   112  func StatKeyCompare(o1, o2 flatbuffers.UOffsetT, buf []byte) bool {
   113  	obj1 := &Stat{}
   114  	obj2 := &Stat{}
   115  	obj1.Init(buf, flatbuffers.UOffsetT(len(buf))-o1)
   116  	obj2.Init(buf, flatbuffers.UOffsetT(len(buf))-o2)
   117  	return obj1.Count() < obj2.Count()
   118  }
   119  
   120  func (rcv *Stat) LookupByKey(key uint16, vectorLocation flatbuffers.UOffsetT, buf []byte) bool {
   121  	span := flatbuffers.GetUOffsetT(buf[vectorLocation-4:])
   122  	start := flatbuffers.UOffsetT(0)
   123  	for span != 0 {
   124  		middle := span / 2
   125  		tableOffset := flatbuffers.GetIndirectOffset(buf, vectorLocation+4*(start+middle))
   126  		obj := &Stat{}
   127  		obj.Init(buf, tableOffset)
   128  		val := obj.Count()
   129  		comp := 0
   130  		if val > key {
   131  			comp = 1
   132  		} else if val < key {
   133  			comp = -1
   134  		}
   135  		if comp > 0 {
   136  			span = middle
   137  		} else if comp < 0 {
   138  			middle += 1
   139  			start += middle
   140  			span -= middle
   141  		} else {
   142  			rcv.Init(buf, tableOffset)
   143  			return true
   144  		}
   145  	}
   146  	return false
   147  }
   148  
   149  func StatStart(builder *flatbuffers.Builder) {
   150  	builder.StartObject(3)
   151  }
   152  func StatAddId(builder *flatbuffers.Builder, id flatbuffers.UOffsetT) {
   153  	builder.PrependUOffsetTSlot(0, flatbuffers.UOffsetT(id), 0)
   154  }
   155  func StatAddVal(builder *flatbuffers.Builder, val int64) {
   156  	builder.PrependInt64Slot(1, val, 0)
   157  }
   158  func StatAddCount(builder *flatbuffers.Builder, count uint16) {
   159  	builder.PrependUint16Slot(2, count, 0)
   160  }
   161  func StatEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
   162  	return builder.EndObject()
   163  }
   164  

View as plain text