generate mutable union accessors

This commit is contained in:
Justin Davis
2025-12-09 21:51:53 -05:00
parent 89430a14d6
commit c7627432ef
10 changed files with 352 additions and 7 deletions

View File

@@ -327,6 +327,10 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table {
void *mutable_equipped() {
return GetPointer<void *>(VT_EQUIPPED);
}
template<typename T> T *mutable_equipped_as();
MyGame::Sample::Weapon *mutable_equipped_as_Weapon() {
return equipped_type() == MyGame::Sample::Equipment_Weapon ? static_cast<MyGame::Sample::Weapon *>(mutable_equipped()) : nullptr;
}
const ::flatbuffers::Vector<const MyGame::Sample::Vec3 *> *path() const {
return GetPointer<const ::flatbuffers::Vector<const MyGame::Sample::Vec3 *> *>(VT_PATH);
}
@@ -363,6 +367,10 @@ template<> inline const MyGame::Sample::Weapon *Monster::equipped_as<MyGame::Sam
return equipped_as_Weapon();
}
template<> inline MyGame::Sample::Weapon *Monster::mutable_equipped_as<MyGame::Sample::Weapon>() {
return mutable_equipped_as_Weapon();
}
struct MonsterBuilder {
typedef Monster Table;
::flatbuffers::FlatBufferBuilder &fbb_;