"Fossies" - the Fresh Open Source Software Archive 
Member "flatbuffers-23.1.21/tests/annotated_binary/annotated_binary.fbs" (21 Jan 2023, 1315 Bytes) of package /linux/misc/flatbuffers-23.1.21.tar.gz:
As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style:
standard) with prefixed line numbers and
code folding option.
Alternatively you can here
view or
download the uninterpreted source code file.
1 namespace AnnotatedBinary;
2
3 enum Food : byte {
4 None = 0,
5 Apple = 1,
6 Banana = 2,
7 Kiwi = 3,
8 }
9
10 table Baz {
11 meal:Food = Banana;
12 }
13
14 table Bar {
15 a:double = 3.14;
16 b:float = 1.68;
17 c:Baz;
18 }
19
20 union BarBaz {
21 Bar, Baz
22 }
23
24 union Measurement {
25 Tolerance, Dimension
26 }
27
28 struct Tolerance {
29 width:uint8;
30 }
31
32 union Any {
33 Bar, Tolerance
34 }
35
36 struct Dimension {
37 values:[int:3];
38 tolerances:[Tolerance:3];
39 }
40
41 struct Building {
42 floors:int;
43 doors:int;
44 windows:int;
45 dimensions:Dimension;
46 }
47
48 struct Location {
49 latitude:double;
50 longitude:double;
51 }
52
53 table Foo {
54 counter:int;
55 healthy:bool;
56 level:long = 99;
57 meal:Food = Apple;
58 bar:Bar;
59 home:Building;
60 name:string;
61 // Vector of tables
62 bars:[Bar];
63 // Union of tables
64 bar_baz:BarBaz;
65 // Vector of Scalars
66 accounts:[uint16];
67 bob:string;
68 alice:string;
69 // Optional Scalars
70 maybe_i32: int32 = null;
71 default_i32: int32 = 42;
72 just_i32: int32;
73 // Vector of strings
74 names:[string];
75 // Vector of structs
76 points_of_interest:[Location];
77 // Vector of unions
78 foobars:[BarBaz];
79 // Union of structs
80 measurement:Measurement;
81 // Union of struct/table
82 anything:Any;
83 // Default floating point
84 temperature:float=98.6;
85 // Not present object
86 teetotaler:Bar;
87 charlie:string;
88 }
89
90 file_identifier "ANNO";
91
92 root_type Foo;