在FlatBuffer中附加

时间:2018-11-26 15:43:09

标签: flatbuffers

我们已经在使用具有类似方案的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;

现在,如果我们要添加两件事。

  1. level:stringMagicHolder
  2. Wandkey:value类型下,其中key:stringvalue可以是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;  
}

这是最好的方法吗?优点/缺点是什么。.其他建议的方法可以更有效地完成此新添加操作

0 个答案:

没有答案