Добавление в FlatBuffer
Мы уже используем flatbuffer с похожей схемой
namespace potter;
union Magic { Weapon, Wand }
table Weapon {
name:string;
power:int;
}
table Wand {
make:string;
animal:string;
}
table MagicHolder {
name:string;
age:int;
magic:Magic;
}
root_type MagicHolder;
Теперь, если мы хотим добавить две вещи.
level:string
вMagicHolder
- Под
Wand
key:value
тип, гдеkey:string
, а такжеvalue
может бытьstring or int or float or bool
Что я пытаюсь
table MagicHolder {
name:string;
age:int;
level:string; /*new addition*/
magic:Magic;
}
table KeyValue {
key:string;
vint:int;
vfloat:float;
vbool:bool;
vstring:string;
vtype:string; /* since I cannot differentiate between bool set or not, trying to store type here */
}
table Wand {
make:string;
animal:string;
kv:KeyValue;
}
Это лучший подход? Какие бы были плюсы / минусы.. Любые другие рекомендуемые способы сделать это новое дополнение более эффективно