• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#[ Universe
2  Automatically generated by the FlatBuffers compiler, do not modify.
3  Or modify. I'm a message, not a cop.
4
5  flatc version: 23.5.26
6
7  Declared by  : //basic.fbs
8  Rooting type : Universe (//basic.fbs)
9]#
10
11import Galaxy as Galaxy
12import flatbuffers
13import std/options
14
15type Universe* = object of FlatObj
16func age*(self: Universe): float64 =
17  let o = self.tab.Offset(4)
18  if o != 0:
19    return Get[float64](self.tab, self.tab.Pos + o)
20  return 0.0
21func `age=`*(self: var Universe, n: float64): bool =
22  return self.tab.MutateSlot(4, n)
23func galaxiesLength*(self: Universe): int =
24  let o = self.tab.Offset(6)
25  if o != 0:
26    return self.tab.VectorLen(o)
27func galaxies*(self: Universe, j: int): Galaxy.Galaxy =
28  let o = self.tab.Offset(6)
29  if o != 0:
30    var x = self.tab.Vector(o)
31    x += j.uoffset * 4.uoffset
32    return Galaxy.Galaxy(tab: Vtable(Bytes: self.tab.Bytes, Pos: x))
33func galaxies*(self: Universe): seq[Galaxy.Galaxy] =
34  let len = self.galaxiesLength
35  for i in countup(0, len - 1):
36    result.add(self.galaxies(i))
37proc UniverseStart*(builder: var Builder) =
38  builder.StartObject(2)
39proc UniverseAddage*(builder: var Builder, age: float64) =
40  builder.PrependSlot(0, age, default(float64))
41proc UniverseAddgalaxies*(builder: var Builder, galaxies: uoffset) =
42  builder.PrependSlot(1, galaxies, default(uoffset))
43proc UniverseStartgalaxiesVector*(builder: var Builder, numElems: uoffset) =
44  builder.StartVector(4, numElems, 4)
45proc UniverseEnd*(builder: var Builder): uoffset =
46  return builder.EndObject()
47