# automatically generated by the FlatBuffers compiler, do not modify

# namespace:

import flatbuffers
from flatbuffers.compat import import_numpy

np = import_numpy()


class ObjRef(object):
    __slots__ = ["_tab"]

    @classmethod
    def SizeOf(cls):
        return 24

    # ObjRef
    def Init(self, buf, pos):
        self._tab = flatbuffers.table.Table(buf, pos)

    # OID of the referenced object: 128 bit with UUID.
    # ObjRef
    def Oid(self, obj):
        obj.Init(self._tab.Bytes, self._tab.Pos + 0)
        return obj

    # Version of the referenced object, starting with 1, and incremented
    # ObjRef
    def Version(self):
        return self._tab.Get(
            flatbuffers.number_types.Uint32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16)
        )


def CreateObjRef(builder, oid_msb, oid_lsb, version):
    builder.Prep(8, 24)
    builder.Pad(4)
    builder.PrependUint32(version)
    builder.Prep(8, 16)
    builder.PrependUint64(oid_lsb)
    builder.PrependUint64(oid_msb)
    return builder.Offset()
