mirror of
https://github.com/vee1e/flatbuffers.git
synced 2026-09-02 02:07:25 +00:00
Allow tables to be mapped to native types directly. For example, a table
representing a vector3 (eg. table Vec3 { x:float; y:float; z:float; }) can
be mapped to a "mathfu::vec3" native type in NativeTables. This requires
users to provide Pack and UnPack functions that convert between the
Table and native types. This is done by adding the "native_type" attribute
to the table definition.
To support user-defined flatbuffers::Pack and flatbuffers::UnPack functions,
support a "native_include" markup that will generate a corresponding
Also add an UnPackTo function which allows users to pass in a pointer to
a NativeTable object into which to UnPack the Table. The existing UnPack
function is now simply:
NativeTable* UnPack() {
NativeTable* obj = new NativeTable();
Table::UnPackTo(obj);
return obj;
}
Finally, allow native types to be given a default value as well which are
set in the NativeTable constructor. This is done by providing a
"native_default" attribute to the member of a table.
Change-Id: Ic45cb48b0e6d7cfa5734b24819e54aa96d847cfd
|
||
|---|---|---|
| .. | ||
| android | ||
| android_sample.sh | ||
| csharp_sample.sh | ||
| go_sample.sh | ||
| java_sample.sh | ||
| javascript_sample.sh | ||
| monster.fbs | ||
| monster_generated.h | ||
| monsterdata.json | ||
| php_sample.sh | ||
| python_sample.sh | ||
| sample_binary.cpp | ||
| sample_binary.go | ||
| sample_binary.py | ||
| sample_text.cpp | ||
| SampleBinary.cs | ||
| SampleBinary.java | ||
| samplebinary.js | ||
| SampleBinary.php | ||