// automatically generated by the FlatBuffers compiler, do not modify #ifndef FLATBUFFERS_GENERATED_ASSETA_BIGFOOT_FLAT_H_ #define FLATBUFFERS_GENERATED_ASSETA_BIGFOOT_FLAT_H_ #include "flatbuffers/flatbuffers.h" // Ensure the included flatbuffers.h is the same version as when this file was // generated, otherwise it may not be compatible. static_assert(FLATBUFFERS_VERSION_MAJOR == 25 && FLATBUFFERS_VERSION_MINOR == 12 && FLATBUFFERS_VERSION_REVISION == 19, "Non-compatible flatbuffers version included"); #include "Engine/BigFile/Asset/AssetTypeID.hpp" #include "Engine/BigFile/Asset/AssetTypeID.hpp" #include "System/UUID/UUID.hpp" #include "Engine/BigFile/Asset/AssetHeader_generated.hpp" #include "EASTL/unique_ptr.h" #include "EASTL/string.h" namespace Bigfoot { namespace Flat { struct Ref; struct AssetA; struct AssetABuilder; struct AssetAT; inline const ::flatbuffers::TypeTable *RefTypeTable(); inline const ::flatbuffers::TypeTable *AssetATypeTable(); FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) Ref FLATBUFFERS_FINAL_CLASS { private: Bigfoot::Flat::UUID uuid_; public: struct Traits; static const ::flatbuffers::TypeTable *MiniReflectTypeTable() { return RefTypeTable(); } static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() { return "Bigfoot.Flat.Ref"; } Ref() : uuid_() { } Ref(const Bigfoot::Flat::UUID &_uuid) : uuid_(_uuid) { } const Bigfoot::Flat::UUID &uuid() const { return uuid_; } }; FLATBUFFERS_STRUCT_END(Ref, 16); struct Ref::Traits { using type = Ref; }; struct AssetAT : public ::flatbuffers::NativeTable { typedef AssetA TableType; static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() { return "Bigfoot.Flat.AssetAT"; } eastl::unique_ptr asset_header{}; uint32_t health = 0; uint32_t mana = 0; std::vector refs{}; eastl::unique_ptr ref{}; AssetAT() = default; AssetAT(const AssetAT &o); AssetAT(AssetAT&&) FLATBUFFERS_NOEXCEPT = default; AssetAT &operator=(AssetAT o) FLATBUFFERS_NOEXCEPT; }; struct AssetA FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { typedef AssetAT NativeTableType; typedef AssetABuilder Builder; struct Traits; static const ::flatbuffers::TypeTable *MiniReflectTypeTable() { return AssetATypeTable(); } static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() { return "Bigfoot.Flat.AssetA"; } enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE { VT_ASSET_HEADER = 4, VT_HEALTH = 6, VT_MANA = 8, VT_REFS = 10, VT_REF = 12 }; const Bigfoot::Flat::AssetHeader *asset_header() const { return GetPointer(VT_ASSET_HEADER); } uint32_t health() const { return GetField(VT_HEALTH, 0); } uint32_t mana() const { return GetField(VT_MANA, 0); } const ::flatbuffers::Vector *refs() const { return GetPointer *>(VT_REFS); } const Bigfoot::Flat::Ref *ref() const { return GetStruct(VT_REF); } template bool Verify(::flatbuffers::VerifierTemplate &verifier) const { return VerifyTableStart(verifier) && VerifyOffset(verifier, VT_ASSET_HEADER) && verifier.VerifyTable(asset_header()) && VerifyField(verifier, VT_HEALTH, 4) && VerifyField(verifier, VT_MANA, 4) && VerifyOffset(verifier, VT_REFS) && verifier.VerifyVector(refs()) && VerifyField(verifier, VT_REF, 1) && verifier.EndTable(); } AssetAT *UnPack(const ::flatbuffers::resolver_function_t *_resolver = nullptr) const; void UnPackTo(AssetAT *_o, const ::flatbuffers::resolver_function_t *_resolver = nullptr) const; static ::flatbuffers::Offset Pack(::flatbuffers::FlatBufferBuilder &_fbb, const AssetAT* _o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr); }; struct AssetABuilder { typedef AssetA Table; ::flatbuffers::FlatBufferBuilder &fbb_; ::flatbuffers::uoffset_t start_; void add_asset_header(::flatbuffers::Offset asset_header) { fbb_.AddOffset(AssetA::VT_ASSET_HEADER, asset_header); } void add_health(uint32_t health) { fbb_.AddElement(AssetA::VT_HEALTH, health, 0); } void add_mana(uint32_t mana) { fbb_.AddElement(AssetA::VT_MANA, mana, 0); } void add_refs(::flatbuffers::Offset<::flatbuffers::Vector> refs) { fbb_.AddOffset(AssetA::VT_REFS, refs); } void add_ref(const Bigfoot::Flat::Ref *ref) { fbb_.AddStruct(AssetA::VT_REF, ref); } explicit AssetABuilder(::flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) { start_ = fbb_.StartTable(); } ::flatbuffers::Offset Finish() { const auto end = fbb_.EndTable(start_); auto o = ::flatbuffers::Offset(end); return o; } }; inline ::flatbuffers::Offset CreateAssetA( ::flatbuffers::FlatBufferBuilder &_fbb, ::flatbuffers::Offset asset_header = 0, uint32_t health = 0, uint32_t mana = 0, ::flatbuffers::Offset<::flatbuffers::Vector> refs = 0, const Bigfoot::Flat::Ref *ref = nullptr) { AssetABuilder builder_(_fbb); builder_.add_ref(ref); builder_.add_refs(refs); builder_.add_mana(mana); builder_.add_health(health); builder_.add_asset_header(asset_header); return builder_.Finish(); } struct AssetA::Traits { using type = AssetA; static auto constexpr Create = CreateAssetA; }; ::flatbuffers::Offset CreateAssetA(::flatbuffers::FlatBufferBuilder &_fbb, const AssetAT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr); inline AssetAT::AssetAT(const AssetAT &o) : asset_header((o.asset_header) ? new Bigfoot::Flat::AssetHeaderT(*o.asset_header) : nullptr), health(o.health), mana(o.mana), refs(o.refs), ref((o.ref) ? new Bigfoot::Flat::Ref(*o.ref) : nullptr) { } inline AssetAT &AssetAT::operator=(AssetAT o) FLATBUFFERS_NOEXCEPT { std::swap(asset_header, o.asset_header); std::swap(health, o.health); std::swap(mana, o.mana); std::swap(refs, o.refs); std::swap(ref, o.ref); return *this; } inline AssetAT *AssetA::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const { auto _o = std::make_unique(); UnPackTo(_o.get(), _resolver); return _o.release(); } inline void AssetA::UnPackTo(AssetAT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { (void)_o; (void)_resolver; { auto _e = asset_header(); if (_e) { if(_o->asset_header) { _e->UnPackTo(_o->asset_header.get(), _resolver); } else { _o->asset_header = eastl::unique_ptr(_e->UnPack(_resolver)); } } else if (_o->asset_header) { _o->asset_header.reset(); } } { auto _e = health(); _o->health = _e; } { auto _e = mana(); _o->mana = _e; } { auto _e = refs(); if (_e) { _o->refs.resize(_e->size()); for (::flatbuffers::uoffset_t _i = 0; _i < _e->size(); _i++) { _o->refs[_i] = *_e->Get(_i); } } else { _o->refs.resize(0); } } { auto _e = ref(); if (_e) _o->ref = eastl::unique_ptr(new Bigfoot::Flat::Ref(*_e)); } } inline ::flatbuffers::Offset CreateAssetA(::flatbuffers::FlatBufferBuilder &_fbb, const AssetAT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) { return AssetA::Pack(_fbb, _o, _rehasher); } inline ::flatbuffers::Offset AssetA::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const AssetAT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { (void)_rehasher; (void)_o; struct _VectorArgs { ::flatbuffers::FlatBufferBuilder *__fbb; const AssetAT* __o; const ::flatbuffers::rehasher_function_t *__rehasher; } _va = { &_fbb, _o, _rehasher}; (void)_va; auto _asset_header = _o->asset_header ? CreateAssetHeader(_fbb, _o->asset_header.get(), _rehasher) : 0; auto _health = _o->health; auto _mana = _o->mana; auto _refs = _fbb.CreateVectorOfStructs(_o->refs); auto _ref = _o->ref ? _o->ref.get() : nullptr; return Bigfoot::Flat::CreateAssetA( _fbb, _asset_header, _health, _mana, _refs, _ref); } inline const ::flatbuffers::TypeTable *RefTypeTable() { static const ::flatbuffers::TypeCode type_codes[] = { { ::flatbuffers::ET_SEQUENCE, 0, 0 } }; static const ::flatbuffers::TypeFunction type_refs[] = { Bigfoot::Flat::UUIDTypeTable }; static const int64_t values[] = { 0, 16 }; static const char * const names[] = { "uuid" }; static const ::flatbuffers::TypeTable tt = { ::flatbuffers::ST_STRUCT, 1, type_codes, type_refs, nullptr, values, names }; return &tt; } inline const ::flatbuffers::TypeTable *AssetATypeTable() { static const ::flatbuffers::TypeCode type_codes[] = { { ::flatbuffers::ET_SEQUENCE, 0, 0 }, { ::flatbuffers::ET_UINT, 0, -1 }, { ::flatbuffers::ET_UINT, 0, -1 }, { ::flatbuffers::ET_SEQUENCE, 1, 1 }, { ::flatbuffers::ET_SEQUENCE, 0, 1 } }; static const ::flatbuffers::TypeFunction type_refs[] = { Bigfoot::Flat::AssetHeaderTypeTable, Bigfoot::Flat::RefTypeTable }; static const char * const names[] = { "asset_header", "health", "mana", "refs", "ref" }; static const ::flatbuffers::TypeTable tt = { ::flatbuffers::ST_TABLE, 5, type_codes, type_refs, nullptr, nullptr, names }; return &tt; } inline const Bigfoot::Flat::AssetA *GetAssetA(const void *buf) { return ::flatbuffers::GetRoot(buf); } inline const Bigfoot::Flat::AssetA *GetSizePrefixedAssetA(const void *buf) { return ::flatbuffers::GetSizePrefixedRoot(buf); } template inline bool VerifyAssetABuffer( ::flatbuffers::VerifierTemplate &verifier) { return verifier.template VerifyBuffer(nullptr); } template inline bool VerifySizePrefixedAssetABuffer( ::flatbuffers::VerifierTemplate &verifier) { return verifier.template VerifySizePrefixedBuffer(nullptr); } inline const char *AssetAExtension() { return "bfbs"; } inline void FinishAssetABuffer( ::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset root) { fbb.Finish(root); } inline void FinishSizePrefixedAssetABuffer( ::flatbuffers::FlatBufferBuilder &fbb, ::flatbuffers::Offset root) { fbb.FinishSizePrefixed(root); } inline eastl::unique_ptr UnPackAssetA( const void *buf, const ::flatbuffers::resolver_function_t *res = nullptr) { return eastl::unique_ptr(GetAssetA(buf)->UnPack(res)); } inline eastl::unique_ptr UnPackSizePrefixedAssetA( const void *buf, const ::flatbuffers::resolver_function_t *res = nullptr) { return eastl::unique_ptr(GetSizePrefixedAssetA(buf)->UnPack(res)); } } // namespace Flat } // namespace Bigfoot #endif // FLATBUFFERS_GENERATED_ASSETA_BIGFOOT_FLAT_H_