| |
|
|
| |
|
|
| import flatbuffers |
| from flatbuffers.compat import import_numpy |
| np = import_numpy() |
|
|
| class Regex(object): |
| __slots__ = ['_tab'] |
|
|
| @classmethod |
| def GetRootAsRegex(cls, buf, offset): |
| n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) |
| x = Regex() |
| x.Init(buf, n + offset) |
| return x |
|
|
| @classmethod |
| def RegexBufferHasIdentifier(cls, buf, offset, size_prefixed=False): |
| return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x43\x32\x20", size_prefixed=size_prefixed) |
|
|
| |
| def Init(self, buf, pos): |
| self._tab = flatbuffers.table.Table(buf, pos) |
|
|
| |
| def Pattern(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) |
| if o != 0: |
| return self._tab.String(o + self._tab.Pos) |
| return None |
|
|
| |
| def Groups(self, j): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| if o != 0: |
| a = self._tab.Vector(o) |
| return self._tab.Get(flatbuffers.number_types.Int32Flags, a + flatbuffers.number_types.UOffsetTFlags.py_type(j * 4)) |
| return 0 |
|
|
| |
| def GroupsAsNumpy(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| if o != 0: |
| return self._tab.GetVectorAsNumpy(flatbuffers.number_types.Int32Flags, o) |
| return 0 |
|
|
| |
| def GroupsLength(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| if o != 0: |
| return self._tab.VectorLen(o) |
| return 0 |
|
|
| |
| def GroupsIsNone(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) |
| return o == 0 |
|
|
| |
| def CompressedPattern(self): |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) |
| if o != 0: |
| x = self._tab.Indirect(o + self._tab.Pos) |
| from libtextclassifier3.CompressedBuffer import CompressedBuffer |
| obj = CompressedBuffer() |
| obj.Init(self._tab.Bytes, x) |
| return obj |
| return None |
|
|
| def RegexStart(builder): builder.StartObject(3) |
| def RegexAddPattern(builder, pattern): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(pattern), 0) |
| def RegexAddGroups(builder, groups): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(groups), 0) |
| def RegexStartGroupsVector(builder, numElems): return builder.StartVector(4, numElems, 4) |
| def RegexAddCompressedPattern(builder, compressedPattern): builder.PrependUOffsetTRelativeSlot(2, flatbuffers.number_types.UOffsetTFlags.py_type(compressedPattern), 0) |
| def RegexEnd(builder): return builder.EndObject() |
|
|