-
Notifications
You must be signed in to change notification settings - Fork 3.5k
Closed
Labels
Description
For example, here is a part of a schema file:
struct TcpStreamMetadata {
numOfDataPackets:[uint32:2];
numOfMessages:[uint32:2];
numOfBytes:[uint32:2];
}
table TcpStream {
metadata:TcpStreamMetadata (required);
srcPort:uint16;
dstPort:uint16;
startTimeUsec:uint64;
endTimeUsec:uint64;
}I run flatc --cpp -o ./flatbuffers/ --no-prefix --scoped-enums --gen-name-strings --gen-compare --cpp-str-flex-ctor ./flatbuff-schema/redis_tcp_stream_publish.fbs, then the following C++ header is generated from the schema:
FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(4) TcpStreamMetadata FLATBUFFERS_FINAL_CLASS {
private:
uint32_t numOfDataPackets_[2];
uint32_t numOfMessages_[2];
uint32_t numOfBytes_[2];
public:
static FLATBUFFERS_CONSTEXPR const char *GetFullyQualifiedName() {
return "PackmatePP.FlatBuf.TcpStreamMetadata";
}
TcpStreamMetadata() {
memset(static_cast<void *>(this), 0, sizeof(TcpStreamMetadata));
}
const flatbuffers::Array<uint32_t, 2> *numOfDataPackets() const {
return reinterpret_cast<const flatbuffers::Array<uint32_t, 2> *>(numOfDataPackets_);
}
const flatbuffers::Array<uint32_t, 2> *numOfMessages() const {
return reinterpret_cast<const flatbuffers::Array<uint32_t, 2> *>(numOfMessages_);
}
const flatbuffers::Array<uint32_t, 2> *numOfBytes() const {
return reinterpret_cast<const flatbuffers::Array<uint32_t, 2> *>(numOfBytes_);
}
};
FLATBUFFERS_STRUCT_END(TcpStreamMetadata, 24);
inline bool operator==(const TcpStreamMetadata &lhs, const TcpStreamMetadata &rhs) {
return
(lhs.numOfDataPackets() == rhs.numOfDataPackets()) &&
(lhs.numOfMessages() == rhs.numOfMessages()) &&
(lhs.numOfBytes() == rhs.numOfBytes());
}
inline bool operator!=(const TcpStreamMetadata &lhs, const TcpStreamMetadata &rhs) {
return !(lhs == rhs);
}How can I create TcpStreamMetadata instance with some data (numOfDataPackets, numOfBytes, ... ), if there is no constructor other than default?
Thanks!
Reactions are currently unavailable