168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li// automatically generated by the FlatBuffers compiler, do not modify 268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li#ifndef FLATBUFFERS_GENERATED_UNIONVECTOR_H_ 568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li#define FLATBUFFERS_GENERATED_UNIONVECTOR_H_ 668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li#include "flatbuffers/flatbuffers.h" 868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 9b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct Attacker; 10b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct AttackerT; 1168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 1268bbe983e9819bcbcd214cf84d73a440863ed6caBei Listruct Rapunzel; 1368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 14b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct BookReader; 1568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 1668bbe983e9819bcbcd214cf84d73a440863ed6caBei Listruct Movie; 17b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct MovieT; 1868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 1968bbe983e9819bcbcd214cf84d73a440863ed6caBei Lienum Character { 2068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li Character_NONE = 0, 2168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li Character_MuLan = 1, 2268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li Character_Rapunzel = 2, 2368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li Character_Belle = 3, 24b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character_BookFan = 4, 25b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character_Other = 5, 26b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character_Unused = 6, 2768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li Character_MIN = Character_NONE, 28b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character_MAX = Character_Unused 2968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 3068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 31dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeoooinline Character (&EnumValuesCharacter())[7] { 32dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo static Character values[] = { 33dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_NONE, 34dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_MuLan, 35dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_Rapunzel, 36dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_Belle, 37dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_BookFan, 38dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_Other, 39dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo Character_Unused 40dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo }; 41dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo return values; 42dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo} 43dadd1a926ee75cad9d9ef792edcbc902b1f1744arufeooo 4468bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline const char **EnumNamesCharacter() { 4568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li static const char *names[] = { 4668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li "NONE", 4768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li "MuLan", 4868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li "Rapunzel", 4968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li "Belle", 50b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen "BookFan", 51b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen "Other", 52b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen "Unused", 5368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li nullptr 5468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li }; 5568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return names; 5668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 5768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 5868bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline const char *EnumNameCharacter(Character e) { 5968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li const size_t index = static_cast<int>(e); 6068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return EnumNamesCharacter()[index]; 6168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 6268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 63b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct CharacterUnion { 64b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character type; 65b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void *value; 6668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 67b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen CharacterUnion() : type(Character_NONE), value(nullptr) {} 68b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen CharacterUnion(CharacterUnion&& u) FLATBUFFERS_NOEXCEPT : 69b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen type(Character_NONE), value(nullptr) 70b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { std::swap(type, u.type); std::swap(value, u.value); } 71e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen CharacterUnion(const CharacterUnion &) FLATBUFFERS_NOEXCEPT; 72523f3833eb2ddd41e891c3ef8f3c5d4f154916b6Wouter van Oortmerssen CharacterUnion &operator=(const CharacterUnion &u) FLATBUFFERS_NOEXCEPT 73523f3833eb2ddd41e891c3ef8f3c5d4f154916b6Wouter van Oortmerssen { CharacterUnion t(u); std::swap(type, t.type); std::swap(value, t.value); return *this; } 74b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen CharacterUnion &operator=(CharacterUnion &&u) FLATBUFFERS_NOEXCEPT 75b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { std::swap(type, u.type); std::swap(value, u.value); return *this; } 76b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen ~CharacterUnion() { Reset(); } 7768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 78b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void Reset(); 7968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 80b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen static void *UnPack(const void *obj, Character type, const flatbuffers::resolver_function_t *resolver); 81b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Offset<void> Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher = nullptr) const; 82b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 83b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen AttackerT *AsMuLan() { 84b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_MuLan ? 85b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<AttackerT *>(value) : nullptr; 86b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 8721a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const AttackerT *AsMuLan() const { 8821a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_MuLan ? 8921a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const AttackerT *>(value) : nullptr; 9021a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 91b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Rapunzel *AsRapunzel() { 92b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_Rapunzel ? 93b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<Rapunzel *>(value) : nullptr; 94b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 9521a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const Rapunzel *AsRapunzel() const { 9621a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_Rapunzel ? 9721a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const Rapunzel *>(value) : nullptr; 9821a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 99b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen BookReader *AsBelle() { 100b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_Belle ? 101b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<BookReader *>(value) : nullptr; 102b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 10321a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const BookReader *AsBelle() const { 10421a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_Belle ? 10521a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const BookReader *>(value) : nullptr; 10621a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 107b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen BookReader *AsBookFan() { 108b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_BookFan ? 109b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<BookReader *>(value) : nullptr; 110b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 11121a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const BookReader *AsBookFan() const { 11221a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_BookFan ? 11321a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const BookReader *>(value) : nullptr; 11421a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 115b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen std::string *AsOther() { 116b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_Other ? 117b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<std::string *>(value) : nullptr; 118b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 11921a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const std::string *AsOther() const { 12021a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_Other ? 12121a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const std::string *>(value) : nullptr; 12221a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 123b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen std::string *AsUnused() { 124b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return type == Character_Unused ? 125b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen reinterpret_cast<std::string *>(value) : nullptr; 126b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 12721a81219820f4acc1e50569ff280b24b1af29a36endorph-soft const std::string *AsUnused() const { 12821a81219820f4acc1e50569ff280b24b1af29a36endorph-soft return type == Character_Unused ? 12921a81219820f4acc1e50569ff280b24b1af29a36endorph-soft reinterpret_cast<const std::string *>(value) : nullptr; 13021a81219820f4acc1e50569ff280b24b1af29a36endorph-soft } 13168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 13268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 13368bbe983e9819bcbcd214cf84d73a440863ed6caBei Libool VerifyCharacter(flatbuffers::Verifier &verifier, const void *obj, Character type); 13468bbe983e9819bcbcd214cf84d73a440863ed6caBei Libool VerifyCharacterVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types); 13568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 136b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van OortmerssenMANUALLY_ALIGNED_STRUCT(4) Rapunzel FLATBUFFERS_FINAL_CLASS { 137b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen private: 138b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t hair_length_; 139b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 140b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen public: 141b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Rapunzel() { 142b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen memset(this, 0, sizeof(Rapunzel)); 14368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 144b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Rapunzel(int32_t _hair_length) 145b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen : hair_length_(flatbuffers::EndianScalar(_hair_length)) { 14668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 147b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t hair_length() const { 148b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return flatbuffers::EndianScalar(hair_length_); 14968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 150b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void mutate_hair_length(int32_t _hair_length) { 151b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::WriteScalar(&hair_length_, _hair_length); 15268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 15368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 154b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van OortmerssenSTRUCT_END(Rapunzel, 4); 15568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 156b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van OortmerssenMANUALLY_ALIGNED_STRUCT(4) BookReader FLATBUFFERS_FINAL_CLASS { 157b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen private: 158b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t books_read_; 15968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 160b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen public: 161b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen BookReader() { 162b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen memset(this, 0, sizeof(BookReader)); 16368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 164b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen BookReader(int32_t _books_read) 165b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen : books_read_(flatbuffers::EndianScalar(_books_read)) { 16668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 167b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t books_read() const { 168b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return flatbuffers::EndianScalar(books_read_); 16968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 170b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void mutate_books_read(int32_t _books_read) { 171b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::WriteScalar(&books_read_, _books_read); 17268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 17368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 174b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van OortmerssenSTRUCT_END(BookReader, 4); 17568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 176b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct AttackerT : public flatbuffers::NativeTable { 177b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen typedef Attacker TableType; 178b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t sword_attack_damage; 179b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen AttackerT() 180b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen : sword_attack_damage(0) { 181b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 182b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen}; 18368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 184b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct Attacker FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 185b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen typedef AttackerT NativeTableType; 18668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li enum { 187b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VT_SWORD_ATTACK_DAMAGE = 4 18868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li }; 189b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t sword_attack_damage() const { 190b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return GetField<int32_t>(VT_SWORD_ATTACK_DAMAGE, 0); 191b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 192b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen bool mutate_sword_attack_damage(int32_t _sword_attack_damage) { 193b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return SetField<int32_t>(VT_SWORD_ATTACK_DAMAGE, _sword_attack_damage, 0); 19468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 19568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li bool Verify(flatbuffers::Verifier &verifier) const { 19668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return VerifyTableStart(verifier) && 197b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VerifyField<int32_t>(verifier, VT_SWORD_ATTACK_DAMAGE) && 19868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li verifier.EndTable(); 19968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 200b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen AttackerT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 201b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void UnPackTo(AttackerT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 202b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen static flatbuffers::Offset<Attacker> Pack(flatbuffers::FlatBufferBuilder &_fbb, const AttackerT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 20368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 20468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 205b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct AttackerBuilder { 20668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &fbb_; 20768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::uoffset_t start_; 208b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void add_sword_attack_damage(int32_t sword_attack_damage) { 209b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen fbb_.AddElement<int32_t>(Attacker::VT_SWORD_ATTACK_DAMAGE, sword_attack_damage, 0); 21068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 2115b4acf809ecadf408a966555e91c37f32b119d10Aaron explicit AttackerBuilder(flatbuffers::FlatBufferBuilder &_fbb) 21268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li : fbb_(_fbb) { 21368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li start_ = fbb_.StartTable(); 21468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 215b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen AttackerBuilder &operator=(const AttackerBuilder &); 216b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Offset<Attacker> Finish() { 217ac1015e3c417ecb18d8f449a4e6aaaff3c4f53b9Wouter van Oortmerssen const auto end = fbb_.EndTable(start_); 218b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto o = flatbuffers::Offset<Attacker>(end); 21968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return o; 22068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 22168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 22268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 223b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<Attacker> CreateAttacker( 22468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &_fbb, 225b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen int32_t sword_attack_damage = 0) { 226b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen AttackerBuilder builder_(_fbb); 227b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen builder_.add_sword_attack_damage(sword_attack_damage); 22868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return builder_.Finish(); 22968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 23068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 231b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenflatbuffers::Offset<Attacker> CreateAttacker(flatbuffers::FlatBufferBuilder &_fbb, const AttackerT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 232b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 233b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenstruct MovieT : public flatbuffers::NativeTable { 234b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen typedef Movie TableType; 235b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen CharacterUnion main_character; 236b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen std::vector<CharacterUnion> characters; 237b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen MovieT() { 238b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 239b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen}; 240b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 24168bbe983e9819bcbcd214cf84d73a440863ed6caBei Listruct Movie FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table { 242b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen typedef MovieT NativeTableType; 24368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li enum { 244b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VT_MAIN_CHARACTER_TYPE = 4, 245b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VT_MAIN_CHARACTER = 6, 246b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VT_CHARACTERS_TYPE = 8, 247b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VT_CHARACTERS = 10 24868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li }; 249b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character main_character_type() const { 250b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return static_cast<Character>(GetField<uint8_t>(VT_MAIN_CHARACTER_TYPE, 0)); 251b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 252b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen bool mutate_main_character_type(Character _main_character_type) { 253b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return SetField<uint8_t>(VT_MAIN_CHARACTER_TYPE, static_cast<uint8_t>(_main_character_type), 0); 254b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 255b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const void *main_character() const { 256b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return GetPointer<const void *>(VT_MAIN_CHARACTER); 257b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 258b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen template<typename T> const T *main_character_as() const; 259b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const Attacker *main_character_as_MuLan() const { 260b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_MuLan ? static_cast<const Attacker *>(main_character()) : nullptr; 261b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 262b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const Rapunzel *main_character_as_Rapunzel() const { 263b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_Rapunzel ? static_cast<const Rapunzel *>(main_character()) : nullptr; 264b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 265b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const BookReader *main_character_as_Belle() const { 266b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_Belle ? static_cast<const BookReader *>(main_character()) : nullptr; 267b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 268b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const BookReader *main_character_as_BookFan() const { 269b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_BookFan ? static_cast<const BookReader *>(main_character()) : nullptr; 270b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 271b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const flatbuffers::String *main_character_as_Other() const { 272b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_Other ? static_cast<const flatbuffers::String *>(main_character()) : nullptr; 273b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 274b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const flatbuffers::String *main_character_as_Unused() const { 275b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return main_character_type() == Character_Unused ? static_cast<const flatbuffers::String *>(main_character()) : nullptr; 276b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 277b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void *mutable_main_character() { 278b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return GetPointer<void *>(VT_MAIN_CHARACTER); 279b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 28068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li const flatbuffers::Vector<uint8_t> *characters_type() const { 28168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_CHARACTERS_TYPE); 28268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 283b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Vector<uint8_t> *mutable_characters_type() { 284b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return GetPointer<flatbuffers::Vector<uint8_t> *>(VT_CHARACTERS_TYPE); 285b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 28668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li const flatbuffers::Vector<flatbuffers::Offset<void>> *characters() const { 28768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<void>> *>(VT_CHARACTERS); 28868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 289b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Vector<flatbuffers::Offset<void>> *mutable_characters() { 290b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return GetPointer<flatbuffers::Vector<flatbuffers::Offset<void>> *>(VT_CHARACTERS); 291b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 29268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li bool Verify(flatbuffers::Verifier &verifier) const { 29368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return VerifyTableStart(verifier) && 294b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VerifyField<uint8_t>(verifier, VT_MAIN_CHARACTER_TYPE) && 2958b92122f33c2e2aa07e335341503ce19b4989abbWouter van Oortmerssen VerifyOffset(verifier, VT_MAIN_CHARACTER) && 296b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen VerifyCharacter(verifier, main_character(), main_character_type()) && 2978b92122f33c2e2aa07e335341503ce19b4989abbWouter van Oortmerssen VerifyOffset(verifier, VT_CHARACTERS_TYPE) && 29868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li verifier.Verify(characters_type()) && 2998b92122f33c2e2aa07e335341503ce19b4989abbWouter van Oortmerssen VerifyOffset(verifier, VT_CHARACTERS) && 30068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li verifier.Verify(characters()) && 30168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li VerifyCharacterVector(verifier, characters(), characters_type()) && 30268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li verifier.EndTable(); 30368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 304b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen MovieT *UnPack(const flatbuffers::resolver_function_t *_resolver = nullptr) const; 305b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void UnPackTo(MovieT *_o, const flatbuffers::resolver_function_t *_resolver = nullptr) const; 306b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen static flatbuffers::Offset<Movie> Pack(flatbuffers::FlatBufferBuilder &_fbb, const MovieT* _o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 30768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 30868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 30968bbe983e9819bcbcd214cf84d73a440863ed6caBei Listruct MovieBuilder { 31068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &fbb_; 31168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::uoffset_t start_; 312b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void add_main_character_type(Character main_character_type) { 313b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen fbb_.AddElement<uint8_t>(Movie::VT_MAIN_CHARACTER_TYPE, static_cast<uint8_t>(main_character_type), 0); 314b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 315b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen void add_main_character(flatbuffers::Offset<void> main_character) { 316b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen fbb_.AddOffset(Movie::VT_MAIN_CHARACTER, main_character); 317b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 31868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li void add_characters_type(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> characters_type) { 31968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li fbb_.AddOffset(Movie::VT_CHARACTERS_TYPE, characters_type); 32068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 32168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li void add_characters(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<void>>> characters) { 32268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li fbb_.AddOffset(Movie::VT_CHARACTERS, characters); 32368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 3245b4acf809ecadf408a966555e91c37f32b119d10Aaron explicit MovieBuilder(flatbuffers::FlatBufferBuilder &_fbb) 32568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li : fbb_(_fbb) { 32668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li start_ = fbb_.StartTable(); 32768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 32868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li MovieBuilder &operator=(const MovieBuilder &); 32968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::Offset<Movie> Finish() { 330ac1015e3c417ecb18d8f449a4e6aaaff3c4f53b9Wouter van Oortmerssen const auto end = fbb_.EndTable(start_); 33168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li auto o = flatbuffers::Offset<Movie>(end); 33268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return o; 33368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 33468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li}; 33568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 33668bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline flatbuffers::Offset<Movie> CreateMovie( 33768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &_fbb, 338b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character main_character_type = Character_NONE, 339b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Offset<void> main_character = 0, 34068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::Offset<flatbuffers::Vector<uint8_t>> characters_type = 0, 34168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<void>>> characters = 0) { 34268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li MovieBuilder builder_(_fbb); 34368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li builder_.add_characters(characters); 34468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li builder_.add_characters_type(characters_type); 345b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen builder_.add_main_character(main_character); 346b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen builder_.add_main_character_type(main_character_type); 34768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return builder_.Finish(); 34868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 34968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 35068bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline flatbuffers::Offset<Movie> CreateMovieDirect( 35168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &_fbb, 352b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen Character main_character_type = Character_NONE, 353b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen flatbuffers::Offset<void> main_character = 0, 35468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li const std::vector<uint8_t> *characters_type = nullptr, 35568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li const std::vector<flatbuffers::Offset<void>> *characters = nullptr) { 35668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return CreateMovie( 35768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li _fbb, 358b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen main_character_type, 359b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen main_character, 36068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li characters_type ? _fbb.CreateVector<uint8_t>(*characters_type) : 0, 36168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li characters ? _fbb.CreateVector<flatbuffers::Offset<void>>(*characters) : 0); 36268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 36368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 364b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssenflatbuffers::Offset<Movie> CreateMovie(flatbuffers::FlatBufferBuilder &_fbb, const MovieT *_o, const flatbuffers::rehasher_function_t *_rehasher = nullptr); 365b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 366b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline AttackerT *Attacker::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 367b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto _o = new AttackerT(); 368b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen UnPackTo(_o, _resolver); 369b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _o; 370b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 371b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 372b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline void Attacker::UnPackTo(AttackerT *_o, const flatbuffers::resolver_function_t *_resolver) const { 373b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_o; 374b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_resolver; 375b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { auto _e = sword_attack_damage(); _o->sword_attack_damage = _e; }; 376b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 377b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 378b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<Attacker> Attacker::Pack(flatbuffers::FlatBufferBuilder &_fbb, const AttackerT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 379b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return CreateAttacker(_fbb, _o, _rehasher); 380b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 381b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 382b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<Attacker> CreateAttacker(flatbuffers::FlatBufferBuilder &_fbb, const AttackerT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 383b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_rehasher; 384b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_o; 385a8923222033763f1a74f836c656af19d9f620378Stewart Miles struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const AttackerT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; 386b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto _sword_attack_damage = _o->sword_attack_damage; 387b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return CreateAttacker( 388b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _fbb, 389b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _sword_attack_damage); 390b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 391b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 392b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline MovieT *Movie::UnPack(const flatbuffers::resolver_function_t *_resolver) const { 393b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto _o = new MovieT(); 394b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen UnPackTo(_o, _resolver); 395b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _o; 396b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 397b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 398b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline void Movie::UnPackTo(MovieT *_o, const flatbuffers::resolver_function_t *_resolver) const { 399b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_o; 400b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_resolver; 401b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { auto _e = main_character_type(); _o->main_character.type = _e; }; 402b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { auto _e = main_character(); if (_e) _o->main_character.value = CharacterUnion::UnPack(_e, main_character_type(), _resolver); }; 403b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { auto _e = characters_type(); if (_e) { _o->characters.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->characters[_i].type = (Character)_e->Get(_i); } } }; 404b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen { auto _e = characters(); if (_e) { _o->characters.resize(_e->size()); for (flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->characters[_i].value = CharacterUnion::UnPack(_e->Get(_i), characters_type()->GetEnum<Character>(_i), _resolver); } } }; 405b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 406b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 407b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<Movie> Movie::Pack(flatbuffers::FlatBufferBuilder &_fbb, const MovieT* _o, const flatbuffers::rehasher_function_t *_rehasher) { 408b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return CreateMovie(_fbb, _o, _rehasher); 409b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 410b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 411b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<Movie> CreateMovie(flatbuffers::FlatBufferBuilder &_fbb, const MovieT *_o, const flatbuffers::rehasher_function_t *_rehasher) { 412b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_rehasher; 413b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen (void)_o; 414a8923222033763f1a74f836c656af19d9f620378Stewart Miles struct _VectorArgs { flatbuffers::FlatBufferBuilder *__fbb; const MovieT* __o; const flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; 415b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto _main_character_type = _o->main_character.type; 416b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto _main_character = _o->main_character.Pack(_fbb); 417a8923222033763f1a74f836c656af19d9f620378Stewart Miles auto _characters_type = _o->characters.size() ? _fbb.CreateVector<uint8_t>(_o->characters.size(), [](size_t i, _VectorArgs *__va) { return static_cast<uint8_t>(__va->__o->characters[i].type); }, &_va) : 0; 418a8923222033763f1a74f836c656af19d9f620378Stewart Miles auto _characters = _o->characters.size() ? _fbb.CreateVector<flatbuffers::Offset<void>>(_o->characters.size(), [](size_t i, _VectorArgs *__va) { return __va->__o->characters[i].Pack(*__va->__fbb, __va->__rehasher); }, &_va) : 0; 419b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return CreateMovie( 420b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _fbb, 421b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _main_character_type, 422b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _main_character, 423b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _characters_type, 424b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen _characters); 425b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 426b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 42768bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline bool VerifyCharacter(flatbuffers::Verifier &verifier, const void *obj, Character type) { 42868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li switch (type) { 42968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li case Character_NONE: { 43068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return true; 43168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 43268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li case Character_MuLan: { 433b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const Attacker *>(obj); 43468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return verifier.VerifyTable(ptr); 43568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 43668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li case Character_Rapunzel: { 437b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return true; 43868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 43968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li case Character_Belle: { 440b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return true; 441b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 442b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_BookFan: { 443b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return true; 444b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 445b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Other: { 446b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const flatbuffers::String *>(obj); 447b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return verifier.Verify(ptr); 448b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 449b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Unused: { 450b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const flatbuffers::String *>(obj); 451b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return verifier.Verify(ptr); 45268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 45368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li default: return false; 45468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 45568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 45668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 45768bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline bool VerifyCharacterVector(flatbuffers::Verifier &verifier, const flatbuffers::Vector<flatbuffers::Offset<void>> *values, const flatbuffers::Vector<uint8_t> *types) { 45868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li if (values->size() != types->size()) return false; 45968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li for (flatbuffers::uoffset_t i = 0; i < values->size(); ++i) { 46068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li if (!VerifyCharacter( 4619b3d8b318a3bc9d71d08b50d723996f556557c86Wouter van Oortmerssen verifier, values->Get(i), types->GetEnum<Character>(i))) { 4629b3d8b318a3bc9d71d08b50d723996f556557c86Wouter van Oortmerssen return false; 46368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 46468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li } 46568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return true; 46668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 46768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 468b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline void *CharacterUnion::UnPack(const void *obj, Character type, const flatbuffers::resolver_function_t *resolver) { 469b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen switch (type) { 470b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_MuLan: { 471b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const Attacker *>(obj); 472b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return ptr->UnPack(resolver); 473b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 474b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Rapunzel: { 475b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const Rapunzel *>(obj); 476b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return new Rapunzel(*ptr); 477b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 478b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Belle: { 479b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const BookReader *>(obj); 480b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return new BookReader(*ptr); 481b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 482b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_BookFan: { 483b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const BookReader *>(obj); 484b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return new BookReader(*ptr); 485b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 486b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Other: { 487b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const flatbuffers::String *>(obj); 488b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return new std::string(ptr->c_str(), ptr->size()); 489b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 490b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Unused: { 491b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const flatbuffers::String *>(obj); 492b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return new std::string(ptr->c_str(), ptr->size()); 493b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 494b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen default: return nullptr; 495b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 496b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 497b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 498b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline flatbuffers::Offset<void> CharacterUnion::Pack(flatbuffers::FlatBufferBuilder &_fbb, const flatbuffers::rehasher_function_t *_rehasher) const { 499b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen switch (type) { 500b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_MuLan: { 501b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const AttackerT *>(value); 502b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return CreateAttacker(_fbb, ptr, _rehasher).Union(); 503b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 504b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Rapunzel: { 505b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const Rapunzel *>(value); 506b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _fbb.CreateStruct(*ptr).Union(); 507b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 508b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Belle: { 509b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const BookReader *>(value); 510b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _fbb.CreateStruct(*ptr).Union(); 511b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 512b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_BookFan: { 513b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const BookReader *>(value); 514b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _fbb.CreateStruct(*ptr).Union(); 515b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 516b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Other: { 517b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const std::string *>(value); 518b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _fbb.CreateString(*ptr).Union(); 519b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 520b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Unused: { 521b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<const std::string *>(value); 522b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return _fbb.CreateString(*ptr).Union(); 523b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 524b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen default: return 0; 525b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 526b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 527b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 528e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmersseninline CharacterUnion::CharacterUnion(const CharacterUnion &u) FLATBUFFERS_NOEXCEPT : type(u.type), value(nullptr) { 529e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen switch (type) { 530e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_MuLan: { 531e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new AttackerT(*reinterpret_cast<AttackerT *>(u.value)); 532e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 533e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 534e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_Rapunzel: { 535e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new Rapunzel(*reinterpret_cast<Rapunzel *>(u.value)); 536e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 537e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 538e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_Belle: { 539e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new BookReader(*reinterpret_cast<BookReader *>(u.value)); 540e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 541e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 542e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_BookFan: { 543e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new BookReader(*reinterpret_cast<BookReader *>(u.value)); 544e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 545e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 546e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_Other: { 547e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new std::string(*reinterpret_cast<std::string *>(u.value)); 548e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 549e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 550e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen case Character_Unused: { 551e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen value = new std::string(*reinterpret_cast<std::string *>(u.value)); 552e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 553e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 554e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen default: 555e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen break; 556e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen } 557e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen} 558e093f72d0087aff3d1edd193a20a879782323c01Wouter van Oortmerssen 559b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline void CharacterUnion::Reset() { 560b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen switch (type) { 561b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_MuLan: { 562b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<AttackerT *>(value); 563b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 564b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 565b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 566b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Rapunzel: { 567b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<Rapunzel *>(value); 568b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 569b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 570b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 571b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Belle: { 572b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<BookReader *>(value); 573b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 574b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 575b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 576b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_BookFan: { 577b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<BookReader *>(value); 578b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 579b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 580b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 581b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Other: { 582b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<std::string *>(value); 583b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 584b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 585b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 586b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen case Character_Unused: { 587b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen auto ptr = reinterpret_cast<std::string *>(value); 588b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen delete ptr; 589b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen break; 590b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 591b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen default: break; 592b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen } 593b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen value = nullptr; 594b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen type = Character_NONE; 595b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 596b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 5977a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *AttackerTypeTable(); 59872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 5997a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *RapunzelTypeTable(); 60072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6017a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *BookReaderTypeTable(); 60272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6037a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *MovieTypeTable(); 60472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6057a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *CharacterTypeTable() { 60672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeCode type_codes[] = { 60772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, -1 }, 60872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, 0 }, 60972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, 1 }, 61072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, 2 }, 61172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, 2 }, 61272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_STRING, 0, -1 }, 61372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_STRING, 0, -1 } 61472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 61572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeFunction type_refs[] = { 61672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen AttackerTypeTable, 61772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen RapunzelTypeTable, 61872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen BookReaderTypeTable 61972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 62072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const char *names[] = { 62172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "NONE", 62272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "MuLan", 62372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "Rapunzel", 62472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "Belle", 62572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "BookFan", 62672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "Other", 62772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "Unused" 62872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 62972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeTable tt = { 63072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen flatbuffers::ST_UNION, 7, type_codes, type_refs, nullptr, names 63172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 63272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen return &tt; 63372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen} 63472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6357a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *AttackerTypeTable() { 63672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeCode type_codes[] = { 63772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_INT, 0, -1 } 63872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 63972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const char *names[] = { 64072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "sword_attack_damage" 64172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 64272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeTable tt = { 64372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen flatbuffers::ST_TABLE, 1, type_codes, nullptr, nullptr, names 64472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 64572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen return &tt; 64672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen} 64772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6487a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *RapunzelTypeTable() { 64972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeCode type_codes[] = { 65072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_INT, 0, -1 } 65172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 65272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const int32_t values[] = { 0, 4 }; 65372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const char *names[] = { 65472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "hair_length" 65572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 65672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeTable tt = { 65772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen flatbuffers::ST_STRUCT, 1, type_codes, nullptr, values, names 65872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 65972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen return &tt; 66072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen} 66172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6627a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *BookReaderTypeTable() { 66372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeCode type_codes[] = { 66472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_INT, 0, -1 } 66572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 66672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const int32_t values[] = { 0, 4 }; 66772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const char *names[] = { 66872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "books_read" 66972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 67072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeTable tt = { 67172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen flatbuffers::ST_STRUCT, 1, type_codes, nullptr, values, names 67272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 67372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen return &tt; 67472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen} 67572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 6767a6b2bf521e95097a92ec848001531b2dcf0f3faWouter van Oortmersseninline flatbuffers::TypeTable *MovieTypeTable() { 67772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeCode type_codes[] = { 67872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_UTYPE, 0, 0 }, 67972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 0, 0 }, 68072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_UTYPE, 1, 0 }, 68172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen { flatbuffers::ET_SEQUENCE, 1, 0 } 68272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 68372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeFunction type_refs[] = { 68472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen CharacterTypeTable 68572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 68672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static const char *names[] = { 68772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "main_character_type", 68872a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "main_character", 68972a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "characters_type", 69072a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen "characters" 69172a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 69272a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen static flatbuffers::TypeTable tt = { 69372a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen flatbuffers::ST_TABLE, 4, type_codes, type_refs, nullptr, names 69472a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen }; 69572a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen return &tt; 69672a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen} 69772a99abfb7db64dc49720b28b41f382b5ec7cde0Wouter van Oortmerssen 69868bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline const Movie *GetMovie(const void *buf) { 69968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return flatbuffers::GetRoot<Movie>(buf); 70068bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 70168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 702b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmersseninline Movie *GetMutableMovie(void *buf) { 703b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen return flatbuffers::GetMutableRoot<Movie>(buf); 704b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 705b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 70668bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline const char *MovieIdentifier() { 70768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return "MOVI"; 70868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 70968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 71068bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline bool MovieBufferHasIdentifier(const void *buf) { 71168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return flatbuffers::BufferHasIdentifier( 71268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li buf, MovieIdentifier()); 71368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 71468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 71568bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline bool VerifyMovieBuffer( 71668bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::Verifier &verifier) { 71768bbe983e9819bcbcd214cf84d73a440863ed6caBei Li return verifier.VerifyBuffer<Movie>(MovieIdentifier()); 71868bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 71968bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 72068bbe983e9819bcbcd214cf84d73a440863ed6caBei Liinline void FinishMovieBuffer( 72168bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::FlatBufferBuilder &fbb, 72268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li flatbuffers::Offset<Movie> root) { 72368bbe983e9819bcbcd214cf84d73a440863ed6caBei Li fbb.Finish(root, MovieIdentifier()); 72468bbe983e9819bcbcd214cf84d73a440863ed6caBei Li} 72568bbe983e9819bcbcd214cf84d73a440863ed6caBei Li 726a8923222033763f1a74f836c656af19d9f620378Stewart Milesinline flatbuffers::unique_ptr<MovieT> UnPackMovie( 727b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const void *buf, 728b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen const flatbuffers::resolver_function_t *res = nullptr) { 729a8923222033763f1a74f836c656af19d9f620378Stewart Miles return flatbuffers::unique_ptr<MovieT>(GetMovie(buf)->UnPack(res)); 730b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen} 731b0752e179bdbae516125cccacd7aebcfd83033a9Wouter van Oortmerssen 73268bbe983e9819bcbcd214cf84d73a440863ed6caBei Li#endif // FLATBUFFERS_GENERATED_UNIONVECTOR_H_ 733