1*890232f2SAndroid Build Coastguard Worker# automatically generated by the FlatBuffers compiler, do not modify 2*890232f2SAndroid Build Coastguard Worker 3*890232f2SAndroid Build Coastguard Worker# namespace: Example 4*890232f2SAndroid Build Coastguard Worker 5*890232f2SAndroid Build Coastguard Workerimport flatbuffers 6*890232f2SAndroid Build Coastguard Workerfrom flatbuffers.compat import import_numpy 7*890232f2SAndroid Build Coastguard Workernp = import_numpy() 8*890232f2SAndroid Build Coastguard Worker 9*890232f2SAndroid Build Coastguard Workerclass NestedStruct(object): 10*890232f2SAndroid Build Coastguard Worker __slots__ = ['_tab'] 11*890232f2SAndroid Build Coastguard Worker 12*890232f2SAndroid Build Coastguard Worker @classmethod 13*890232f2SAndroid Build Coastguard Worker def SizeOf(cls): 14*890232f2SAndroid Build Coastguard Worker return 32 15*890232f2SAndroid Build Coastguard Worker 16*890232f2SAndroid Build Coastguard Worker # NestedStruct 17*890232f2SAndroid Build Coastguard Worker def Init(self, buf, pos): 18*890232f2SAndroid Build Coastguard Worker self._tab = flatbuffers.table.Table(buf, pos) 19*890232f2SAndroid Build Coastguard Worker 20*890232f2SAndroid Build Coastguard Worker # NestedStruct 21*890232f2SAndroid Build Coastguard Worker def A(self): return [self._tab.Get(flatbuffers.number_types.Int32Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(0 + i * 4)) for i in range(2)] 22*890232f2SAndroid Build Coastguard Worker # NestedStruct 23*890232f2SAndroid Build Coastguard Worker def ALength(self): 24*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(0)) 25*890232f2SAndroid Build Coastguard Worker if o != 0: 26*890232f2SAndroid Build Coastguard Worker return self._tab.VectorLen(o) 27*890232f2SAndroid Build Coastguard Worker return 0 28*890232f2SAndroid Build Coastguard Worker 29*890232f2SAndroid Build Coastguard Worker # NestedStruct 30*890232f2SAndroid Build Coastguard Worker def AIsNone(self): 31*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(0)) 32*890232f2SAndroid Build Coastguard Worker return o == 0 33*890232f2SAndroid Build Coastguard Worker 34*890232f2SAndroid Build Coastguard Worker # NestedStruct 35*890232f2SAndroid Build Coastguard Worker def B(self): return self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(8)) 36*890232f2SAndroid Build Coastguard Worker # NestedStruct 37*890232f2SAndroid Build Coastguard Worker def C(self): return [self._tab.Get(flatbuffers.number_types.Int8Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(9 + i * 1)) for i in range(2)] 38*890232f2SAndroid Build Coastguard Worker # NestedStruct 39*890232f2SAndroid Build Coastguard Worker def CLength(self): 40*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(9)) 41*890232f2SAndroid Build Coastguard Worker if o != 0: 42*890232f2SAndroid Build Coastguard Worker return self._tab.VectorLen(o) 43*890232f2SAndroid Build Coastguard Worker return 0 44*890232f2SAndroid Build Coastguard Worker 45*890232f2SAndroid Build Coastguard Worker # NestedStruct 46*890232f2SAndroid Build Coastguard Worker def CIsNone(self): 47*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(9)) 48*890232f2SAndroid Build Coastguard Worker return o == 0 49*890232f2SAndroid Build Coastguard Worker 50*890232f2SAndroid Build Coastguard Worker # NestedStruct 51*890232f2SAndroid Build Coastguard Worker def D(self): return [self._tab.Get(flatbuffers.number_types.Int64Flags, self._tab.Pos + flatbuffers.number_types.UOffsetTFlags.py_type(16 + i * 8)) for i in range(2)] 52*890232f2SAndroid Build Coastguard Worker # NestedStruct 53*890232f2SAndroid Build Coastguard Worker def DLength(self): 54*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16)) 55*890232f2SAndroid Build Coastguard Worker if o != 0: 56*890232f2SAndroid Build Coastguard Worker return self._tab.VectorLen(o) 57*890232f2SAndroid Build Coastguard Worker return 0 58*890232f2SAndroid Build Coastguard Worker 59*890232f2SAndroid Build Coastguard Worker # NestedStruct 60*890232f2SAndroid Build Coastguard Worker def DIsNone(self): 61*890232f2SAndroid Build Coastguard Worker o = flatbuffers.number_types.UOffsetTFlags.py_type(self._tab.Offset(16)) 62*890232f2SAndroid Build Coastguard Worker return o == 0 63*890232f2SAndroid Build Coastguard Worker 64*890232f2SAndroid Build Coastguard Worker 65*890232f2SAndroid Build Coastguard Workerdef CreateNestedStruct(builder, a, b, c, d): 66*890232f2SAndroid Build Coastguard Worker builder.Prep(8, 32) 67*890232f2SAndroid Build Coastguard Worker for _idx0 in range(2 , 0, -1): 68*890232f2SAndroid Build Coastguard Worker builder.PrependInt64(d[_idx0-1]) 69*890232f2SAndroid Build Coastguard Worker builder.Pad(5) 70*890232f2SAndroid Build Coastguard Worker for _idx0 in range(2 , 0, -1): 71*890232f2SAndroid Build Coastguard Worker builder.PrependInt8(c[_idx0-1]) 72*890232f2SAndroid Build Coastguard Worker builder.PrependInt8(b) 73*890232f2SAndroid Build Coastguard Worker for _idx0 in range(2 , 0, -1): 74*890232f2SAndroid Build Coastguard Worker builder.PrependInt32(a[_idx0-1]) 75*890232f2SAndroid Build Coastguard Worker return builder.Offset() 76*890232f2SAndroid Build Coastguard Worker 77*890232f2SAndroid Build Coastguard Workertry: 78*890232f2SAndroid Build Coastguard Worker from typing import List 79*890232f2SAndroid Build Coastguard Workerexcept: 80*890232f2SAndroid Build Coastguard Worker pass 81*890232f2SAndroid Build Coastguard Worker 82*890232f2SAndroid Build Coastguard Workerclass NestedStructT(object): 83*890232f2SAndroid Build Coastguard Worker 84*890232f2SAndroid Build Coastguard Worker # NestedStructT 85*890232f2SAndroid Build Coastguard Worker def __init__(self): 86*890232f2SAndroid Build Coastguard Worker self.a = None # type: List[int] 87*890232f2SAndroid Build Coastguard Worker self.b = 0 # type: int 88*890232f2SAndroid Build Coastguard Worker self.c = None # type: List[int] 89*890232f2SAndroid Build Coastguard Worker self.d = None # type: List[int] 90*890232f2SAndroid Build Coastguard Worker 91*890232f2SAndroid Build Coastguard Worker @classmethod 92*890232f2SAndroid Build Coastguard Worker def InitFromBuf(cls, buf, pos): 93*890232f2SAndroid Build Coastguard Worker nestedStruct = NestedStruct() 94*890232f2SAndroid Build Coastguard Worker nestedStruct.Init(buf, pos) 95*890232f2SAndroid Build Coastguard Worker return cls.InitFromObj(nestedStruct) 96*890232f2SAndroid Build Coastguard Worker 97*890232f2SAndroid Build Coastguard Worker @classmethod 98*890232f2SAndroid Build Coastguard Worker def InitFromObj(cls, nestedStruct): 99*890232f2SAndroid Build Coastguard Worker x = NestedStructT() 100*890232f2SAndroid Build Coastguard Worker x._UnPack(nestedStruct) 101*890232f2SAndroid Build Coastguard Worker return x 102*890232f2SAndroid Build Coastguard Worker 103*890232f2SAndroid Build Coastguard Worker # NestedStructT 104*890232f2SAndroid Build Coastguard Worker def _UnPack(self, nestedStruct): 105*890232f2SAndroid Build Coastguard Worker if nestedStruct is None: 106*890232f2SAndroid Build Coastguard Worker return 107*890232f2SAndroid Build Coastguard Worker if not nestedStruct.AIsNone(): 108*890232f2SAndroid Build Coastguard Worker if np is None: 109*890232f2SAndroid Build Coastguard Worker self.a = [] 110*890232f2SAndroid Build Coastguard Worker for i in range(nestedStruct.ALength()): 111*890232f2SAndroid Build Coastguard Worker self.a.append(nestedStruct.A(i)) 112*890232f2SAndroid Build Coastguard Worker else: 113*890232f2SAndroid Build Coastguard Worker self.a = nestedStruct.AAsNumpy() 114*890232f2SAndroid Build Coastguard Worker self.b = nestedStruct.B() 115*890232f2SAndroid Build Coastguard Worker if not nestedStruct.CIsNone(): 116*890232f2SAndroid Build Coastguard Worker if np is None: 117*890232f2SAndroid Build Coastguard Worker self.c = [] 118*890232f2SAndroid Build Coastguard Worker for i in range(nestedStruct.CLength()): 119*890232f2SAndroid Build Coastguard Worker self.c.append(nestedStruct.C(i)) 120*890232f2SAndroid Build Coastguard Worker else: 121*890232f2SAndroid Build Coastguard Worker self.c = nestedStruct.CAsNumpy() 122*890232f2SAndroid Build Coastguard Worker if not nestedStruct.DIsNone(): 123*890232f2SAndroid Build Coastguard Worker if np is None: 124*890232f2SAndroid Build Coastguard Worker self.d = [] 125*890232f2SAndroid Build Coastguard Worker for i in range(nestedStruct.DLength()): 126*890232f2SAndroid Build Coastguard Worker self.d.append(nestedStruct.D(i)) 127*890232f2SAndroid Build Coastguard Worker else: 128*890232f2SAndroid Build Coastguard Worker self.d = nestedStruct.DAsNumpy() 129*890232f2SAndroid Build Coastguard Worker 130*890232f2SAndroid Build Coastguard Worker # NestedStructT 131*890232f2SAndroid Build Coastguard Worker def Pack(self, builder): 132*890232f2SAndroid Build Coastguard Worker return CreateNestedStruct(builder, self.a, self.b, self.c, self.d) 133