-- automatically generated by the FlatBuffers compiler, do not modify

-- namespace: Example

local flatbuffers = require('flatbuffers')

local StructOfStructs = {} -- the module
local StructOfStructs_mt = {} -- the class metatable

function StructOfStructs.New()
    local o = {}
    setmetatable(o, {__index = StructOfStructs_mt})
    return o
end
function StructOfStructs_mt:Init(buf, pos)
    self.view = flatbuffers.view.New(buf, pos)
end
function StructOfStructs_mt:A(obj)
    obj:Init(self.view.bytes, self.view.pos + 0)
    return obj
end
function StructOfStructs_mt:B(obj)
    obj:Init(self.view.bytes, self.view.pos + 8)
    return obj
end
function StructOfStructs_mt:C(obj)
    obj:Init(self.view.bytes, self.view.pos + 12)
    return obj
end
function StructOfStructs.CreateStructOfStructs(builder, a_id, a_distance, b_a, b_b, c_id, c_distance)
    builder:Prep(4, 20)
    builder:Prep(4, 8)
    builder:PrependUint32(c_distance)
    builder:PrependUint32(c_id)
    builder:Prep(2, 4)
    builder:Pad(1)
    builder:PrependInt8(b_b)
    builder:PrependInt16(b_a)
    builder:Prep(4, 8)
    builder:PrependUint32(a_distance)
    builder:PrependUint32(a_id)
    return builder:Offset()
end

return StructOfStructs -- return the module