mirror of
https://github.com/google/flatbuffers.git
synced 2026-07-03 14:14:11 +00:00
[C++] Enable using struct and array of struct as key (#7741)
* add unit tests for support struct as key * make changes to parser and add helper function to generate comparator for struct * implement * add more unit tests * format * just a test * test done * rerun generator * restore build file * address comment * format * rebase * rebase * add more unit tests * rerun generator * address some comments * address comment * update * format * address comment Co-authored-by: Wen Sun <sunwen@google.com> Co-authored-by: Derek Bailey <derekbailey@google.com>
This commit is contained in:
@@ -10,12 +10,40 @@ struct Bar {
|
||||
b: uint8;
|
||||
}
|
||||
|
||||
struct Color {
|
||||
rgb: [float:3] (key);
|
||||
tag: uint8;
|
||||
}
|
||||
|
||||
struct Apple {
|
||||
tag: uint8;
|
||||
color: Color(key);
|
||||
}
|
||||
|
||||
struct Fruit {
|
||||
a: Apple (key);
|
||||
b: uint8;
|
||||
}
|
||||
|
||||
struct Rice {
|
||||
origin: [uint8:3];
|
||||
quantity: uint32;
|
||||
}
|
||||
|
||||
struct Grain {
|
||||
a: [Rice:3] (key);
|
||||
tag: uint8;
|
||||
}
|
||||
|
||||
table FooTable {
|
||||
a: int;
|
||||
b: int;
|
||||
c: string (key);
|
||||
d: [Baz];
|
||||
e: [Bar];
|
||||
f: [Apple];
|
||||
g: [Fruit];
|
||||
h: [Grain];
|
||||
}
|
||||
root_type FooTable;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user