首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >平面缓冲区中的多个根表

平面缓冲区中的多个根表
EN

Stack Overflow用户
提问于 2016-03-11 10:38:21
回答 1查看 3.9K关注 0票数 5

我正在检查用于实现通信协议的Flatbuffers。当接收到消息时,在我的示例中,它可能包含许多不同的表。如果我正确理解,那么在Flatbuffers中实现这一目的的方法是使用一个"root“表,该表在一个联合中具有每个可能不同的表。

在我的例子中,我已经知道传入类型(类型是标头的一部分) =>,我不一定需要能够将每个类型放在一个表中。但是,似乎不可能将多个表标记为“根”类型。这意味着,如果我已经定义了表FooBar,那么我只能获得反序列化的GetFoo()GetBar()方法,但两者都不能。

我假设也可以将定义拆分到不同的模式文件中,但是由于它们将共享一些子类,所以我还需要一个共享的模式文件来处理常见的定义。对于简单的情况来说,这似乎比必要的要复杂一些。

还有另一种方法可以用Flatbuffers反序列化多个不同的类型吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-03-11 16:39:11

是的,你能做到的。请注意,生成的GetMyType()只是模板化GetRootAs<MyType>的缩写,您可以将其用于任何类型。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35937976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档