xref: /aosp_15_r20/external/flatbuffers/tests/FlatBuffers.Test/TestTable.cs (revision 890232f25432b36107d06881e0a25aaa6b473652)
1*890232f2SAndroid Build Coastguard Worker /*
2*890232f2SAndroid Build Coastguard Worker  * Copyright 2016 Google Inc. All rights reserved.
3*890232f2SAndroid Build Coastguard Worker  *
4*890232f2SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*890232f2SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*890232f2SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*890232f2SAndroid Build Coastguard Worker  *
8*890232f2SAndroid Build Coastguard Worker  *     http://www.apache.org/licenses/LICENSE-2.0
9*890232f2SAndroid Build Coastguard Worker  *
10*890232f2SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*890232f2SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*890232f2SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*890232f2SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*890232f2SAndroid Build Coastguard Worker  * limitations under the License.
15*890232f2SAndroid Build Coastguard Worker  */
16*890232f2SAndroid Build Coastguard Worker 
17*890232f2SAndroid Build Coastguard Worker namespace FlatBuffers.Test
18*890232f2SAndroid Build Coastguard Worker {
19*890232f2SAndroid Build Coastguard Worker     /// <summary>
20*890232f2SAndroid Build Coastguard Worker     /// A test Table object that gives easy access to the slot data
21*890232f2SAndroid Build Coastguard Worker     /// </summary>
22*890232f2SAndroid Build Coastguard Worker     internal struct TestTable
23*890232f2SAndroid Build Coastguard Worker     {
24*890232f2SAndroid Build Coastguard Worker         Table t;
25*890232f2SAndroid Build Coastguard Worker 
TestTableFlatBuffers.Test.TestTable26*890232f2SAndroid Build Coastguard Worker         public TestTable(ByteBuffer bb, int pos)
27*890232f2SAndroid Build Coastguard Worker         {
28*890232f2SAndroid Build Coastguard Worker           t = new Table(pos, bb);
29*890232f2SAndroid Build Coastguard Worker         }
30*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable31*890232f2SAndroid Build Coastguard Worker         public bool GetSlot(int slot, bool def)
32*890232f2SAndroid Build Coastguard Worker         {
33*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
34*890232f2SAndroid Build Coastguard Worker 
35*890232f2SAndroid Build Coastguard Worker             if (off == 0)
36*890232f2SAndroid Build Coastguard Worker             {
37*890232f2SAndroid Build Coastguard Worker                 return def;
38*890232f2SAndroid Build Coastguard Worker             }
39*890232f2SAndroid Build Coastguard Worker             return t.bb.GetSbyte(t.bb_pos + off) != 0;
40*890232f2SAndroid Build Coastguard Worker         }
41*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable42*890232f2SAndroid Build Coastguard Worker         public sbyte GetSlot(int slot, sbyte def)
43*890232f2SAndroid Build Coastguard Worker         {
44*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
45*890232f2SAndroid Build Coastguard Worker 
46*890232f2SAndroid Build Coastguard Worker             if (off == 0)
47*890232f2SAndroid Build Coastguard Worker             {
48*890232f2SAndroid Build Coastguard Worker                 return def;
49*890232f2SAndroid Build Coastguard Worker             }
50*890232f2SAndroid Build Coastguard Worker             return t.bb.GetSbyte(t.bb_pos + off);
51*890232f2SAndroid Build Coastguard Worker         }
52*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable53*890232f2SAndroid Build Coastguard Worker         public byte GetSlot(int slot, byte def)
54*890232f2SAndroid Build Coastguard Worker         {
55*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
56*890232f2SAndroid Build Coastguard Worker 
57*890232f2SAndroid Build Coastguard Worker             if (off == 0)
58*890232f2SAndroid Build Coastguard Worker             {
59*890232f2SAndroid Build Coastguard Worker                 return def;
60*890232f2SAndroid Build Coastguard Worker             }
61*890232f2SAndroid Build Coastguard Worker             return t.bb.Get(t.bb_pos + off);
62*890232f2SAndroid Build Coastguard Worker         }
63*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable64*890232f2SAndroid Build Coastguard Worker         public short GetSlot(int slot, short def)
65*890232f2SAndroid Build Coastguard Worker         {
66*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
67*890232f2SAndroid Build Coastguard Worker 
68*890232f2SAndroid Build Coastguard Worker             if (off == 0)
69*890232f2SAndroid Build Coastguard Worker             {
70*890232f2SAndroid Build Coastguard Worker                 return def;
71*890232f2SAndroid Build Coastguard Worker             }
72*890232f2SAndroid Build Coastguard Worker             return t.bb.GetShort(t.bb_pos + off);
73*890232f2SAndroid Build Coastguard Worker         }
74*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable75*890232f2SAndroid Build Coastguard Worker         public ushort GetSlot(int slot, ushort def)
76*890232f2SAndroid Build Coastguard Worker         {
77*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
78*890232f2SAndroid Build Coastguard Worker 
79*890232f2SAndroid Build Coastguard Worker             if (off == 0)
80*890232f2SAndroid Build Coastguard Worker             {
81*890232f2SAndroid Build Coastguard Worker                 return def;
82*890232f2SAndroid Build Coastguard Worker             }
83*890232f2SAndroid Build Coastguard Worker             return t.bb.GetUshort(t.bb_pos + off);
84*890232f2SAndroid Build Coastguard Worker         }
85*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable86*890232f2SAndroid Build Coastguard Worker         public int GetSlot(int slot, int def)
87*890232f2SAndroid Build Coastguard Worker         {
88*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
89*890232f2SAndroid Build Coastguard Worker 
90*890232f2SAndroid Build Coastguard Worker             if (off == 0)
91*890232f2SAndroid Build Coastguard Worker             {
92*890232f2SAndroid Build Coastguard Worker                 return def;
93*890232f2SAndroid Build Coastguard Worker             }
94*890232f2SAndroid Build Coastguard Worker             return t.bb.GetInt(t.bb_pos + off);
95*890232f2SAndroid Build Coastguard Worker         }
96*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable97*890232f2SAndroid Build Coastguard Worker         public uint GetSlot(int slot, uint def)
98*890232f2SAndroid Build Coastguard Worker         {
99*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
100*890232f2SAndroid Build Coastguard Worker 
101*890232f2SAndroid Build Coastguard Worker             if (off == 0)
102*890232f2SAndroid Build Coastguard Worker             {
103*890232f2SAndroid Build Coastguard Worker                 return def;
104*890232f2SAndroid Build Coastguard Worker             }
105*890232f2SAndroid Build Coastguard Worker             return t.bb.GetUint(t.bb_pos + off);
106*890232f2SAndroid Build Coastguard Worker         }
107*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable108*890232f2SAndroid Build Coastguard Worker         public long GetSlot(int slot, long def)
109*890232f2SAndroid Build Coastguard Worker         {
110*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
111*890232f2SAndroid Build Coastguard Worker 
112*890232f2SAndroid Build Coastguard Worker             if (off == 0)
113*890232f2SAndroid Build Coastguard Worker             {
114*890232f2SAndroid Build Coastguard Worker                 return def;
115*890232f2SAndroid Build Coastguard Worker             }
116*890232f2SAndroid Build Coastguard Worker             return t.bb.GetLong(t.bb_pos + off);
117*890232f2SAndroid Build Coastguard Worker         }
118*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable119*890232f2SAndroid Build Coastguard Worker         public ulong GetSlot(int slot, ulong def)
120*890232f2SAndroid Build Coastguard Worker         {
121*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
122*890232f2SAndroid Build Coastguard Worker 
123*890232f2SAndroid Build Coastguard Worker             if (off == 0)
124*890232f2SAndroid Build Coastguard Worker             {
125*890232f2SAndroid Build Coastguard Worker                 return def;
126*890232f2SAndroid Build Coastguard Worker             }
127*890232f2SAndroid Build Coastguard Worker             return t.bb.GetUlong(t.bb_pos + off);
128*890232f2SAndroid Build Coastguard Worker         }
129*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable130*890232f2SAndroid Build Coastguard Worker         public float GetSlot(int slot, float def)
131*890232f2SAndroid Build Coastguard Worker         {
132*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
133*890232f2SAndroid Build Coastguard Worker 
134*890232f2SAndroid Build Coastguard Worker             if (off == 0)
135*890232f2SAndroid Build Coastguard Worker             {
136*890232f2SAndroid Build Coastguard Worker                 return def;
137*890232f2SAndroid Build Coastguard Worker             }
138*890232f2SAndroid Build Coastguard Worker             return t.bb.GetFloat(t.bb_pos + off);
139*890232f2SAndroid Build Coastguard Worker         }
140*890232f2SAndroid Build Coastguard Worker 
GetSlotFlatBuffers.Test.TestTable141*890232f2SAndroid Build Coastguard Worker         public double GetSlot(int slot, double def)
142*890232f2SAndroid Build Coastguard Worker         {
143*890232f2SAndroid Build Coastguard Worker             var off = t.__offset(slot);
144*890232f2SAndroid Build Coastguard Worker 
145*890232f2SAndroid Build Coastguard Worker             if (off == 0)
146*890232f2SAndroid Build Coastguard Worker             {
147*890232f2SAndroid Build Coastguard Worker                 return def;
148*890232f2SAndroid Build Coastguard Worker             }
149*890232f2SAndroid Build Coastguard Worker             return t.bb.GetDouble(t.bb_pos + off);
150*890232f2SAndroid Build Coastguard Worker         }
151*890232f2SAndroid Build Coastguard Worker     }
152*890232f2SAndroid Build Coastguard Worker }
153