# automatically generated by the FlatBuffers compiler, do not modify # namespace: libtextclassifier3 import flatbuffers from flatbuffers.compat import import_numpy np = import_numpy() class GrammarModel(object): __slots__ = ['_tab'] @classmethod def GetRootAsGrammarModel(cls, buf, offset): n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) x = GrammarModel() x.Init(buf, n + offset) return x @classmethod def GrammarModelBufferHasIdentifier(cls, buf, offset, size_prefixed=False): return flatbuffers.util.BufferHasIdentifier(buf, offset, b"\x54\x43\x32\x20", size_prefixed=size_prefixed) # GrammarModel def Init(self, buf, pos): self._tab = flatbuffers.table.Table(buf, pos) # GrammarModel def Rules(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) if o != 0: x = self._tab.Indirect(o + self._tab.Pos) from libtextclassifier3.grammar.RulesSet import RulesSet obj = RulesSet() obj.Init(self._tab.Bytes, x) return obj return None # GrammarModel def RuleClassificationResult(self, j): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: x = self._tab.Vector(o) x += flatbuffers.number_types.UOffsetTFlags.py_type(j) * 4 x = self._tab.Indirect(x) from libtextclassifier3.GrammarModel_.RuleClassificationResult import RuleClassificationResult obj = RuleClassificationResult() obj.Init(self._tab.Bytes, x) return obj return None # GrammarModel def RuleClassificationResultLength(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) if o != 0: return self._tab.VectorLen(o) return 0 # GrammarModel def RuleClassificationResultIsNone(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) return o == 0 # GrammarModel def ContextLeftNumTokens(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(8)) if o != 0: return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) return 0 # GrammarModel def ContextRightNumTokens(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(10)) if o != 0: return self._tab.Get(flatbuffers.number_types.Int32Flags, o + self._tab.Pos) return 0 # GrammarModel def TokenizerOptions(self): o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(12)) if o != 0: x = self._tab.Indirect(o + self._tab.Pos) from libtextclassifier3.GrammarTokenizerOptions import GrammarTokenizerOptions obj = GrammarTokenizerOptions() obj.Init(self._tab.Bytes, x) return obj return None def GrammarModelStart(builder): builder.StartObject(5) def GrammarModelAddRules(builder, rules): builder.PrependUOffsetTRelativeSlot(0, flatbuffers.number_types.UOffsetTFlags.py_type(rules), 0) def GrammarModelAddRuleClassificationResult(builder, ruleClassificationResult): builder.PrependUOffsetTRelativeSlot(1, flatbuffers.number_types.UOffsetTFlags.py_type(ruleClassificationResult), 0) def GrammarModelStartRuleClassificationResultVector(builder, numElems): return builder.StartVector(4, numElems, 4) def GrammarModelAddContextLeftNumTokens(builder, contextLeftNumTokens): builder.PrependInt32Slot(2, contextLeftNumTokens, 0) def GrammarModelAddContextRightNumTokens(builder, contextRightNumTokens): builder.PrependInt32Slot(3, contextRightNumTokens, 0) def GrammarModelAddTokenizerOptions(builder, tokenizerOptions): builder.PrependUOffsetTRelativeSlot(4, flatbuffers.number_types.UOffsetTFlags.py_type(tokenizerOptions), 0) def GrammarModelEnd(builder): return builder.EndObject()