Files
flatbuffers/tests/MyGame/Example/Stat.nim
Dan Lapid 872a497464 [Nim] Bfbs Nim Generator (#7534)
* Bfbs Nim Generator

* Remove commented out tests

* add missing line to idl.h

* Commit python reflection changes

* Commit python reflection changes and move tests

* Remove default string addition

* Move tests to python file

* Fix element size check when element is table

* remove whitespace changes

* add element_type docs and commit further to namer and remove kkeep

* Bfbs Nim Generator

* Remove commented out tests

* add missing line to idl.h

* Commit python reflection changes

* Commit python reflection changes and move tests

* Remove default string addition

* Move tests to python file

* Fix element size check when element is table

* remove whitespace changes

* add element_type docs and commit further to namer and remove kkeep

* remove unused variables

* added tests to ci

* added tests to ci

* fixes

* Added reflection type Field, Variable to namer

* Moved reflection namer impl to bfbsnamer

* Remove whitespace at end of line

* Added nim to generated code

* Revert whitespace removal

Co-authored-by: Derek Bailey <derekbailey@google.com>
2022-10-21 14:30:04 -04:00

43 lines
1.3 KiB
Nim

#[ MyGame.Example.Stat
Automatically generated by the FlatBuffers compiler, do not modify.
Or modify. I'm a message, not a cop.
flatc version: 22.9.29
Declared by :
Rooting type : MyGame.Example.Monster ()
]#
import flatbuffers
import std/options
type Stat* = object of FlatObj
func id*(self: Stat): Option[string] =
let o = self.tab.Offset(4)
if o != 0:
return some(self.tab.String(self.tab.Pos + o))
func val*(self: Stat): int64 =
let o = self.tab.Offset(6)
if o != 0:
return Get[int64](self.tab, self.tab.Pos + o)
return 0
func `val=`*(self: var Stat, n: int64): bool =
return self.tab.MutateSlot(6, n)
func count*(self: Stat): uint16 =
let o = self.tab.Offset(8)
if o != 0:
return Get[uint16](self.tab, self.tab.Pos + o)
return 0
func `count=`*(self: var Stat, n: uint16): bool =
return self.tab.MutateSlot(8, n)
proc StatStart*(builder: var Builder) =
builder.StartObject(3)
proc StatAddid*(builder: var Builder, id: uoffset) =
builder.PrependSlot(0, id, default(uoffset))
proc StatAddval*(builder: var Builder, val: int64) =
builder.PrependSlot(1, val, default(int64))
proc StatAddcount*(builder: var Builder, count: uint16) =
builder.PrependSlot(2, count, default(uint16))
proc StatEnd*(builder: var Builder): uoffset =
return builder.EndObject()