能否为FlatBuffers新增GetMutableSizePrefixedRoot类可变根节点接口?
FlatBuffers 带长度前缀缓冲区可变根接口实现方案
我们在使用带长度前缀的FlatBuffers缓冲区时,若需要对FlatBuffer执行变更操作,会发现当前官方未提供GetMutableSizePrefixedRoot或GetSizePrefixedMutableRoot相关接口。
可提交PR新增如下通用模板实现:
template<typename T> T *GetMutableSizePrefixedRoot(void *buf) { return GetMutableRoot<T>(reinterpret_cast<uint8_t *>(buf) + sizeof(uoffset_t)); }
还可以同步修改FlatBuffers代码生成器逻辑,使其自动生成GetMutableSizePrefixedXXX格式的类型专属接口,例如针对Monster类型会自动生成GetMutableSizePrefixedMonster接口。
内容的提问来源于stack exchange,提问作者Stefan F.
相关产品推荐
相关产品推荐

