#ifndef FLATBUFFERS_GENERATED_UNIONUNDERLYINGTYPETEST_UNIONUNDERLYINGTYPE_H_
#define FLATBUFFERS_GENERATED_UNIONUNDERLYINGTYPETEST_UNIONUNDERLYINGTYPE_H_
#include "flatbuffers/flatbuffers.h"
static_assert …;
namespace UnionUnderlyingType {
struct A;
struct ABuilder;
struct AT;
struct B;
struct BBuilder;
struct BT;
struct C;
struct CBuilder;
struct CT;
struct D;
struct DBuilder;
struct DT;
bool operator==(const AT &lhs, const AT &rhs);
bool operator!=(const AT &lhs, const AT &rhs);
bool operator==(const BT &lhs, const BT &rhs);
bool operator!=(const BT &lhs, const BT &rhs);
bool operator==(const CT &lhs, const CT &rhs);
bool operator!=(const CT &lhs, const CT &rhs);
bool operator==(const DT &lhs, const DT &rhs);
bool operator!=(const DT &lhs, const DT &rhs);
inline const ::flatbuffers::TypeTable *ATypeTable();
inline const ::flatbuffers::TypeTable *BTypeTable();
inline const ::flatbuffers::TypeTable *CTypeTable();
inline const ::flatbuffers::TypeTable *DTypeTable();
enum class ABC : int32_t { … };
inline const ABC (&EnumValuesABC())[4] { … }
inline const char *EnumNameABC(ABC e) { … }
template<typename T> struct ABCTraits { … };
template<> struct ABCTraits<UnionUnderlyingType::A> { … };
template<> struct ABCTraits<UnionUnderlyingType::B> { … };
template<> struct ABCTraits<UnionUnderlyingType::C> { … };
template<typename T> struct ABCUnionTraits { … };
template<> struct ABCUnionTraits<UnionUnderlyingType::AT> { … };
template<> struct ABCUnionTraits<UnionUnderlyingType::BT> { … };
template<> struct ABCUnionTraits<UnionUnderlyingType::CT> { … };
struct ABCUnion { … };
inline bool operator==(const ABCUnion &lhs, const ABCUnion &rhs) { … }
inline bool operator!=(const ABCUnion &lhs, const ABCUnion &rhs) { … }
bool VerifyABC(::flatbuffers::Verifier &verifier, const void *obj, ABC type);
bool VerifyABCVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<ABC> *types);
struct AT : public ::flatbuffers::NativeTable { … };
struct A FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { … };
struct ABuilder { … };
inline ::flatbuffers::Offset<A> CreateA(
::flatbuffers::FlatBufferBuilder &_fbb,
int32_t a = 0) { … }
::flatbuffers::Offset<A> CreateA(::flatbuffers::FlatBufferBuilder &_fbb, const AT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct BT : public ::flatbuffers::NativeTable { … };
struct B FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { … };
struct BBuilder { … };
inline ::flatbuffers::Offset<B> CreateB(
::flatbuffers::FlatBufferBuilder &_fbb,
::flatbuffers::Offset<::flatbuffers::String> b = 0) { … }
inline ::flatbuffers::Offset<B> CreateBDirect(
::flatbuffers::FlatBufferBuilder &_fbb,
const char *b = nullptr) { … }
::flatbuffers::Offset<B> CreateB(::flatbuffers::FlatBufferBuilder &_fbb, const BT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct CT : public ::flatbuffers::NativeTable { … };
struct C FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { … };
struct CBuilder { … };
inline ::flatbuffers::Offset<C> CreateC(
::flatbuffers::FlatBufferBuilder &_fbb,
bool c = false) { … }
::flatbuffers::Offset<C> CreateC(::flatbuffers::FlatBufferBuilder &_fbb, const CT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
struct DT : public ::flatbuffers::NativeTable { … };
struct D FLATBUFFERS_FINAL_CLASS : private ::flatbuffers::Table { … };
template<> inline const UnionUnderlyingType::A *D::test_union_as<UnionUnderlyingType::A>() const { … }
template<> inline const UnionUnderlyingType::B *D::test_union_as<UnionUnderlyingType::B>() const { … }
template<> inline const UnionUnderlyingType::C *D::test_union_as<UnionUnderlyingType::C>() const { … }
struct DBuilder { … };
inline ::flatbuffers::Offset<D> CreateD(
::flatbuffers::FlatBufferBuilder &_fbb,
UnionUnderlyingType::ABC test_union_type = UnionUnderlyingType::ABC::NONE,
::flatbuffers::Offset<void> test_union = 0,
::flatbuffers::Offset<::flatbuffers::Vector<UnionUnderlyingType::ABC>> test_vector_of_union_type = 0,
::flatbuffers::Offset<::flatbuffers::Vector<::flatbuffers::Offset<void>>> test_vector_of_union = 0) { … }
inline ::flatbuffers::Offset<D> CreateDDirect(
::flatbuffers::FlatBufferBuilder &_fbb,
UnionUnderlyingType::ABC test_union_type = UnionUnderlyingType::ABC::NONE,
::flatbuffers::Offset<void> test_union = 0,
const std::vector<UnionUnderlyingType::ABC> *test_vector_of_union_type = nullptr,
const std::vector<::flatbuffers::Offset<void>> *test_vector_of_union = nullptr) { … }
::flatbuffers::Offset<D> CreateD(::flatbuffers::FlatBufferBuilder &_fbb, const DT *_o, const ::flatbuffers::rehasher_function_t *_rehasher = nullptr);
inline bool operator==(const AT &lhs, const AT &rhs) { … }
inline bool operator!=(const AT &lhs, const AT &rhs) { … }
inline AT *A::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline void A::UnPackTo(AT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline ::flatbuffers::Offset<A> A::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const AT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline ::flatbuffers::Offset<A> CreateA(::flatbuffers::FlatBufferBuilder &_fbb, const AT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline bool operator==(const BT &lhs, const BT &rhs) { … }
inline bool operator!=(const BT &lhs, const BT &rhs) { … }
inline BT *B::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline void B::UnPackTo(BT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline ::flatbuffers::Offset<B> B::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const BT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline ::flatbuffers::Offset<B> CreateB(::flatbuffers::FlatBufferBuilder &_fbb, const BT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline bool operator==(const CT &lhs, const CT &rhs) { … }
inline bool operator!=(const CT &lhs, const CT &rhs) { … }
inline CT *C::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline void C::UnPackTo(CT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline ::flatbuffers::Offset<C> C::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const CT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline ::flatbuffers::Offset<C> CreateC(::flatbuffers::FlatBufferBuilder &_fbb, const CT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline bool operator==(const DT &lhs, const DT &rhs) { … }
inline bool operator!=(const DT &lhs, const DT &rhs) { … }
inline DT *D::UnPack(const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline void D::UnPackTo(DT *_o, const ::flatbuffers::resolver_function_t *_resolver) const { … }
inline ::flatbuffers::Offset<D> D::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const DT* _o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline ::flatbuffers::Offset<D> CreateD(::flatbuffers::FlatBufferBuilder &_fbb, const DT *_o, const ::flatbuffers::rehasher_function_t *_rehasher) { … }
inline bool VerifyABC(::flatbuffers::Verifier &verifier, const void *obj, ABC type) { … }
inline bool VerifyABCVector(::flatbuffers::Verifier &verifier, const ::flatbuffers::Vector<::flatbuffers::Offset<void>> *values, const ::flatbuffers::Vector<ABC> *types) { … }
inline void *ABCUnion::UnPack(const void *obj, ABC type, const ::flatbuffers::resolver_function_t *resolver) { … }
inline ::flatbuffers::Offset<void> ABCUnion::Pack(::flatbuffers::FlatBufferBuilder &_fbb, const ::flatbuffers::rehasher_function_t *_rehasher) const { … }
inline ABCUnion::ABCUnion(const ABCUnion &u) : … { … }
inline void ABCUnion::Reset() { … }
inline const ::flatbuffers::TypeTable *ABCTypeTable() { … }
inline const ::flatbuffers::TypeTable *ATypeTable() { … }
inline const ::flatbuffers::TypeTable *BTypeTable() { … }
inline const ::flatbuffers::TypeTable *CTypeTable() { … }
inline const ::flatbuffers::TypeTable *DTypeTable() { … }
}
#endif