| # automatically generated by the FlatBuffers compiler, do not modify | |
| # namespace: NamespaceC | |
| import flatbuffers | |
| from flatbuffers.compat import import_numpy | |
| np = import_numpy() | |
| class TableInC(object): | |
| __slots__ = ['_tab'] | |
| @classmethod | |
| def GetRootAs(cls, buf, offset=0): | |
| n = flatbuffers.encode.Get(flatbuffers.packer.uoffset, buf, offset) | |
| x = TableInC() | |
| x.Init(buf, n + offset) | |
| return x | |
| @classmethod | |
| def GetRootAsTableInC(cls, buf, offset=0): | |
| """This method is deprecated. Please switch to GetRootAs.""" | |
| return cls.GetRootAs(buf, offset) | |
| # TableInC | |
| def Init(self, buf, pos): | |
| self._tab = flatbuffers.table.Table(buf, pos) | |
| # TableInC | |
| def ReferToA1(self): | |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(4)) | |
| if o != 0: | |
| x = self._tab.Indirect(o + self._tab.Pos) | |
| obj = TableInFirstNS() | |
| obj.Init(self._tab.Bytes, x) | |
| return obj | |
| return None | |
| # TableInC | |
| def ReferToA2(self): | |
| o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(6)) | |
| if o != 0: | |
| x = self._tab.Indirect(o + self._tab.Pos) | |
| obj = SecondTableInA() | |
| obj.Init(self._tab.Bytes, x) | |
| return obj | |
| return None | |
| def TableInCStart(builder): | |
| builder.StartObject(2) | |
| def Start(builder): | |
| return TableInCStart(builder) | |
| def TableInCAddReferToA1(builder, referToA1): | |
| builder.PrependUOffsetTRelativeSlot( | |
| 0, flatbuffers.number_types.UOffsetTFlags.py_type(referToA1), 0 | |
| ) | |
| def AddReferToA1(builder, referToA1): | |
| return TableInCAddReferToA1(builder, referToA1) | |
| def TableInCAddReferToA2(builder, referToA2): | |
| builder.PrependUOffsetTRelativeSlot( | |
| 1, flatbuffers.number_types.UOffsetTFlags.py_type(referToA2), 0 | |
| ) | |
| def AddReferToA2(builder, referToA2): | |
| return TableInCAddReferToA2(builder, referToA2) | |
| def TableInCEnd(builder): | |
| return builder.EndObject() | |
| def End(builder): | |
| return TableInCEnd(builder) | |
| try: | |
| from typing import Optional | |
| except: | |
| pass | |
| class TableInCT(object): | |
| # TableInCT | |
| def __init__(self): | |
| self.referToA1 = None # type: Optional[TableInFirstNST] | |
| self.referToA2 = None # type: Optional[SecondTableInAT] | |
| @classmethod | |
| def InitFromBuf(cls, buf, pos): | |
| tableInC = TableInC() | |
| tableInC.Init(buf, pos) | |
| return cls.InitFromObj(tableInC) | |
| @classmethod | |
| def InitFromObj(cls, tableInC): | |
| x = TableInCT() | |
| x._UnPack(tableInC) | |
| return x | |
| # TableInCT | |
| def _UnPack(self, tableInC): | |
| if tableInC is None: | |
| return | |
| if tableInC.ReferToA1() is not None: | |
| self.referToA1 = TableInFirstNST.InitFromObj(tableInC.ReferToA1()) | |
| if tableInC.ReferToA2() is not None: | |
| self.referToA2 = SecondTableInAT.InitFromObj(tableInC.ReferToA2()) | |
| # TableInCT | |
| def Pack(self, builder): | |
| if self.referToA1 is not None: | |
| referToA1 = self.referToA1.Pack(builder) | |
| if self.referToA2 is not None: | |
| referToA2 = self.referToA2.Pack(builder) | |
| TableInCStart(builder) | |
| if self.referToA1 is not None: | |
| TableInCAddReferToA1(builder, referToA1) | |
| if self.referToA2 is not None: | |
| TableInCAddReferToA2(builder, referToA2) | |
| tableInC = TableInCEnd(builder) | |
| return tableInC |