...

Source file src/github.com/google/flatbuffers/tests/MyGame/Example/Referrable.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 ReferrableT struct {
    10  	Id uint64 `json:"id"`
    11  }
    12  
    13  func (t *ReferrableT) Pack(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
    14  	if t == nil {
    15  		return 0
    16  	}
    17  	ReferrableStart(builder)
    18  	ReferrableAddId(builder, t.Id)
    19  	return ReferrableEnd(builder)
    20  }
    21  
    22  func (rcv *Referrable) UnPackTo(t *ReferrableT) {
    23  	t.Id = rcv.Id()
    24  }
    25  
    26  func (rcv *Referrable) UnPack() *ReferrableT {
    27  	if rcv == nil {
    28  		return nil
    29  	}
    30  	t := &ReferrableT{}
    31  	rcv.UnPackTo(t)
    32  	return t
    33  }
    34  
    35  type Referrable struct {
    36  	_tab flatbuffers.Table
    37  }
    38  
    39  func GetRootAsReferrable(buf []byte, offset flatbuffers.UOffsetT) *Referrable {
    40  	n := flatbuffers.GetUOffsetT(buf[offset:])
    41  	x := &Referrable{}
    42  	x.Init(buf, n+offset)
    43  	return x
    44  }
    45  
    46  func FinishReferrableBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
    47  	builder.Finish(offset)
    48  }
    49  
    50  func GetSizePrefixedRootAsReferrable(buf []byte, offset flatbuffers.UOffsetT) *Referrable {
    51  	n := flatbuffers.GetUOffsetT(buf[offset+flatbuffers.SizeUint32:])
    52  	x := &Referrable{}
    53  	x.Init(buf, n+offset+flatbuffers.SizeUint32)
    54  	return x
    55  }
    56  
    57  func FinishSizePrefixedReferrableBuffer(builder *flatbuffers.Builder, offset flatbuffers.UOffsetT) {
    58  	builder.FinishSizePrefixed(offset)
    59  }
    60  
    61  func (rcv *Referrable) Init(buf []byte, i flatbuffers.UOffsetT) {
    62  	rcv._tab.Bytes = buf
    63  	rcv._tab.Pos = i
    64  }
    65  
    66  func (rcv *Referrable) Table() flatbuffers.Table {
    67  	return rcv._tab
    68  }
    69  
    70  func (rcv *Referrable) Id() uint64 {
    71  	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
    72  	if o != 0 {
    73  		return rcv._tab.GetUint64(o + rcv._tab.Pos)
    74  	}
    75  	return 0
    76  }
    77  
    78  func (rcv *Referrable) MutateId(n uint64) bool {
    79  	return rcv._tab.MutateUint64Slot(4, n)
    80  }
    81  
    82  func ReferrableKeyCompare(o1, o2 flatbuffers.UOffsetT, buf []byte) bool {
    83  	obj1 := &Referrable{}
    84  	obj2 := &Referrable{}
    85  	obj1.Init(buf, flatbuffers.UOffsetT(len(buf))-o1)
    86  	obj2.Init(buf, flatbuffers.UOffsetT(len(buf))-o2)
    87  	return obj1.Id() < obj2.Id()
    88  }
    89  
    90  func (rcv *Referrable) LookupByKey(key uint64, vectorLocation flatbuffers.UOffsetT, buf []byte) bool {
    91  	span := flatbuffers.GetUOffsetT(buf[vectorLocation-4:])
    92  	start := flatbuffers.UOffsetT(0)
    93  	for span != 0 {
    94  		middle := span / 2
    95  		tableOffset := flatbuffers.GetIndirectOffset(buf, vectorLocation+4*(start+middle))
    96  		obj := &Referrable{}
    97  		obj.Init(buf, tableOffset)
    98  		val := obj.Id()
    99  		comp := 0
   100  		if val > key {
   101  			comp = 1
   102  		} else if val < key {
   103  			comp = -1
   104  		}
   105  		if comp > 0 {
   106  			span = middle
   107  		} else if comp < 0 {
   108  			middle += 1
   109  			start += middle
   110  			span -= middle
   111  		} else {
   112  			rcv.Init(buf, tableOffset)
   113  			return true
   114  		}
   115  	}
   116  	return false
   117  }
   118  
   119  func ReferrableStart(builder *flatbuffers.Builder) {
   120  	builder.StartObject(1)
   121  }
   122  func ReferrableAddId(builder *flatbuffers.Builder, id uint64) {
   123  	builder.PrependUint64Slot(0, id, 0)
   124  }
   125  func ReferrableEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
   126  	return builder.EndObject()
   127  }
   128  

View as plain text