Die Dokumentation sagt über original_order:original_order und Arrays in FlatBuffers
„original_order (auf einem Tisch): da Elemente in einer Tabelle nicht in einer bestimmten Reihenfolge gespeichert werden müssen, werden sie oft für Raum optimiert durch Sortieren sie auf Größe. Dieses Attribut verhindert, dass dies geschieht. "
Ich bin jetzt ein bisschen verwirrt. Ich hielt FlatBuffers-Tabellen für ähnlich wie Arrays in C++, und in meinem Code sah ich kein Problem. Zum Beispiel definiere ich eine LineString-Geometrie wie diese:
table Vec2List {
p:[Vec2];
}
table Linestring {
points:Vec2List;
}
Das funktioniert. Allerdings ist es erforderlich, original_order zu deklarieren?
Quelle: https://google.github.io/flatbuffers/md__schemas.html
Was hat diese Frage mit C++ zu tun? –
Es ist in C++ - Code (Structs und Getter/Setter) kompiliert, wobei oben definierte Tabellen als Arrays in den C++ - Strukturdateien behandelt werden sollten. – benjist