Include a SizePrefixed..HasIdentifier for c++. (#6871)

* Include a SizePrefixed..HasIdentifier for c++.

* Add updated generated code.
This commit is contained in:
Justin T Conroy
2022-01-28 22:52:32 -06:00
committed by GitHub
parent dbbaeac85c
commit 19920db39f
10 changed files with 53 additions and 0 deletions

View File

@@ -1413,6 +1413,11 @@ inline bool SchemaBufferHasIdentifier(const void *buf) {
buf, SchemaIdentifier());
}
inline bool SizePrefixedSchemaBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, SchemaIdentifier(), true);
}
inline bool VerifySchemaBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<reflection::Schema>(SchemaIdentifier());

View File

@@ -535,6 +535,14 @@ class CppGenerator : public BaseGenerator {
code_ += " buf, {{STRUCT_NAME}}Identifier());";
code_ += "}";
code_ += "";
// Check if a size-prefixed buffer has the identifier.
code_ += "inline \\";
code_ += "bool SizePrefixed{{STRUCT_NAME}}BufferHasIdentifier(const void *buf) {";
code_ += " return flatbuffers::BufferHasIdentifier(";
code_ += " buf, {{STRUCT_NAME}}Identifier(), true);";
code_ += "}";
code_ += "";
}
// The root verifier.

View File

@@ -470,6 +470,11 @@ inline bool ArrayTableBufferHasIdentifier(const void *buf) {
buf, ArrayTableIdentifier());
}
inline bool SizePrefixedArrayTableBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, ArrayTableIdentifier(), true);
}
inline bool VerifyArrayTableBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<MyGame::Example::ArrayTable>(ArrayTableIdentifier());

View File

@@ -3727,6 +3727,11 @@ inline bool MonsterBufferHasIdentifier(const void *buf) {
buf, MonsterIdentifier());
}
inline bool SizePrefixedMonsterBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, MonsterIdentifier(), true);
}
inline bool VerifyMonsterBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<MyGame::Example::Monster>(MonsterIdentifier());

View File

@@ -946,6 +946,11 @@ inline bool ScalarStuffBufferHasIdentifier(const void *buf) {
buf, ScalarStuffIdentifier());
}
inline bool SizePrefixedScalarStuffBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, ScalarStuffIdentifier(), true);
}
inline bool VerifyScalarStuffBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<optional_scalars::ScalarStuff>(ScalarStuffIdentifier());

View File

@@ -1214,6 +1214,11 @@ inline bool MovieBufferHasIdentifier(const void *buf) {
buf, MovieIdentifier());
}
inline bool SizePrefixedMovieBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, MovieIdentifier(), true);
}
inline bool VerifyMovieBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<Movie>(MovieIdentifier());

View File

@@ -362,6 +362,11 @@ inline bool MonsterExtraBufferHasIdentifier(const void *buf) {
buf, MonsterExtraIdentifier());
}
inline bool SizePrefixedMonsterExtraBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, MonsterExtraIdentifier(), true);
}
inline bool VerifyMonsterExtraBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<MyGame::MonsterExtra>(MonsterExtraIdentifier());

View File

@@ -3698,6 +3698,11 @@ inline bool MonsterBufferHasIdentifier(const void *buf) {
buf, MonsterIdentifier());
}
inline bool SizePrefixedMonsterBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, MonsterIdentifier(), true);
}
inline bool VerifyMonsterBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<MyGame::Example::Monster>(MonsterIdentifier());

View File

@@ -906,6 +906,11 @@ inline bool ScalarStuffBufferHasIdentifier(const void *buf) {
buf, ScalarStuffIdentifier());
}
inline bool SizePrefixedScalarStuffBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, ScalarStuffIdentifier(), true);
}
inline bool VerifyScalarStuffBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<optional_scalars::ScalarStuff>(ScalarStuffIdentifier());

View File

@@ -1267,6 +1267,11 @@ inline bool MovieBufferHasIdentifier(const void *buf) {
buf, MovieIdentifier());
}
inline bool SizePrefixedMovieBufferHasIdentifier(const void *buf) {
return flatbuffers::BufferHasIdentifier(
buf, MovieIdentifier(), true);
}
inline bool VerifyMovieBuffer(
flatbuffers::Verifier &verifier) {
return verifier.VerifyBuffer<Movie>(MovieIdentifier());