У меня есть файл схемы flatbuffer:
namespace market;
enum MessageType : ubyte {
Null = 0,
MarketDate = 1,
MarketInfo,
}
table MarketDate {
date : string;
}
table MarketInfo {
marketID : string;
marketName : string;
marketType : byte;
}
union MessageData {
marketDate : MarketDate,
marketInfo : MarketInfo,
}
table Message {
type : MessageType;
data : MessageData;
}
root_type Message;
Когда я генерирую файлы доступа для c ++, с
flatc -c --scoped-enums market.fbs
В выводе нет кода для построения и хранения MessageData
, он генерирует только перечисление. Сгенерированный market_generated.h
находится на http://sprunge.us/lTfX0H.
Я прочитал из интернета, что union может генерировать, по крайней мере, что-то вроде: struct MessageDataUnion
и createMessageDataDirect
или подобное, но в моем случае это не генерирует ничего подобного, что-то не так с моим кодом?