# automatically generated by the FlatBuffers compiler, do not modify

# namespace: aghast_generated

import flatbuffers


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

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

    # Slice
    def Start(self):
        return self._tab.Get(
            flatbuffers.number_types.Int64Flags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0),
        )

    # Slice
    def Stop(self):
        return self._tab.Get(
            flatbuffers.number_types.Int64Flags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8),
        )

    # Slice
    def Step(self):
        return self._tab.Get(
            flatbuffers.number_types.Int32Flags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16),
        )

    # Slice
    def HasStart(self):
        return self._tab.Get(
            flatbuffers.number_types.BoolFlags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(20),
        )

    # Slice
    def HasStop(self):
        return self._tab.Get(
            flatbuffers.number_types.BoolFlags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(21),
        )

    # Slice
    def HasStep(self):
        return self._tab.Get(
            flatbuffers.number_types.BoolFlags,
            self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(22),
        )


def CreateSlice(builder, start, stop, step, hasStart, hasStop, hasStep):
    builder.Prep(8, 24)
    builder.Pad(1)
    builder.PrependBool(hasStep)
    builder.PrependBool(hasStop)
    builder.PrependBool(hasStart)
    builder.PrependInt32(step)
    builder.PrependInt64(stop)
    builder.PrependInt64(start)
    return builder.Offset()

[((13, 20, 13, 53), 'flatbuffers.table.Table', 'flatbuffers.table.Table', ({(13, 44, 13, 47): 'buf', (13, 49, 13, 52): 'pos'}, {}), '(buf, pos)', False, 'import flatbuffers\n'), ((19, 28, 19, 77), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(19, 75, 19, 76): '(0)'}, {}), '(0)', False, 'import flatbuffers\n'), ((26, 28, 26, 77), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(26, 75, 26, 76): '(8)'}, {}), '(8)', False, 'import flatbuffers\n'), ((33, 28, 33, 78), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(33, 75, 33, 77): '(16)'}, {}), '(16)', False, 'import flatbuffers\n'), ((40, 28, 40, 78), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(40, 75, 40, 77): '(20)'}, {}), '(20)', False, 'import flatbuffers\n'), ((47, 28, 47, 78), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(47, 75, 47, 77): '(21)'}, {}), '(21)', False, 'import flatbuffers\n'), ((54, 28, 54, 78), 'flatbuffers.number_types.UOffsetTFlags.py_type', 'flatbuffers.number_types.UOffsetTFlags.py_type', ({(54, 75, 54, 77): '(22)'}, {}), '(22)', False, 'import flatbuffers\n')]