Commit 901b89e7 authored by Austin Schuh's avatar Austin Schuh Committed by Wouter van Oortmerssen

[C++] Add Builder and Table typedefs (#5685)

* Add Builder and Table typedefs

This gives us a way to use templates to go from a builder to a table
and back again without having to pass both types in.

* Fix tests/cpp17/generated_cpp17/monster_test_generated.h
parent 31f87990
......@@ -9,22 +9,31 @@
namespace reflection {
struct Type;
struct TypeBuilder;
struct KeyValue;
struct KeyValueBuilder;
struct EnumVal;
struct EnumValBuilder;
struct Enum;
struct EnumBuilder;
struct Field;
struct FieldBuilder;
struct Object;
struct ObjectBuilder;
struct RPCCall;
struct RPCCallBuilder;
struct Service;
struct ServiceBuilder;
struct Schema;
struct SchemaBuilder;
enum BaseType {
None = 0,
......@@ -103,6 +112,7 @@ inline const char *EnumNameBaseType(BaseType e) {
}
struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TypeBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_BASE_TYPE = 4,
VT_ELEMENT = 6,
......@@ -132,6 +142,7 @@ struct Type FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TypeBuilder {
typedef Type Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_base_type(reflection::BaseType base_type) {
......@@ -173,6 +184,7 @@ inline flatbuffers::Offset<Type> CreateType(
}
struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef KeyValueBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_KEY = 4,
VT_VALUE = 6
......@@ -200,6 +212,7 @@ struct KeyValue FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct KeyValueBuilder {
typedef KeyValue Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_key(flatbuffers::Offset<flatbuffers::String> key) {
......@@ -244,6 +257,7 @@ inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(
}
struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef EnumValBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_VALUE = 6,
......@@ -289,6 +303,7 @@ struct EnumVal FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct EnumValBuilder {
typedef EnumVal Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -354,6 +369,7 @@ inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(
}
struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef EnumBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_VALUES = 6,
......@@ -407,6 +423,7 @@ struct Enum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct EnumBuilder {
typedef Enum Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -483,6 +500,7 @@ inline flatbuffers::Offset<Enum> CreateEnumDirect(
}
struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef FieldBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_TYPE = 6,
......@@ -559,6 +577,7 @@ struct Field FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct FieldBuilder {
typedef Field Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -668,6 +687,7 @@ inline flatbuffers::Offset<Field> CreateFieldDirect(
}
struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ObjectBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_FIELDS = 6,
......@@ -725,6 +745,7 @@ struct Object FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ObjectBuilder {
typedef Object Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -807,6 +828,7 @@ inline flatbuffers::Offset<Object> CreateObjectDirect(
}
struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef RPCCallBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_REQUEST = 6,
......@@ -854,6 +876,7 @@ struct RPCCall FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct RPCCallBuilder {
typedef RPCCall Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -922,6 +945,7 @@ inline flatbuffers::Offset<RPCCall> CreateRPCCallDirect(
}
struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ServiceBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_NAME = 4,
VT_CALLS = 6,
......@@ -964,6 +988,7 @@ struct Service FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ServiceBuilder {
typedef Service Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......@@ -1024,6 +1049,7 @@ inline flatbuffers::Offset<Service> CreateServiceDirect(
}
struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef SchemaBuilder Builder;
enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_OBJECTS = 4,
VT_ENUMS = 6,
......@@ -1072,6 +1098,7 @@ struct Schema FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct SchemaBuilder {
typedef Schema Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_objects(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<reflection::Object>>> objects) {
......
......@@ -12,9 +12,11 @@ namespace Sample {
struct Vec3;
struct Monster;
struct MonsterBuilder;
struct MonsterT;
struct Weapon;
struct WeaponBuilder;
struct WeaponT;
bool operator==(const Vec3 &lhs, const Vec3 &rhs);
......@@ -256,6 +258,7 @@ inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) {
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterTypeTable();
}
......@@ -362,6 +365,7 @@ template<> inline const MyGame::Sample::Weapon *Monster::equipped_as<MyGame::Sam
}
struct MonsterBuilder {
typedef Monster Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_pos(const MyGame::Sample::Vec3 *pos) {
......@@ -486,6 +490,7 @@ inline bool operator!=(const WeaponT &lhs, const WeaponT &rhs) {
struct Weapon FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef WeaponT NativeTableType;
typedef WeaponBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return WeaponTypeTable();
}
......@@ -518,6 +523,7 @@ struct Weapon FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct WeaponBuilder {
typedef Weapon Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_name(flatbuffers::Offset<flatbuffers::String> name) {
......
......@@ -273,6 +273,9 @@ class CppGenerator : public BaseGenerator {
if (!struct_def.generated) {
SetNameSpace(struct_def.defined_namespace);
code_ += "struct " + Name(struct_def) + ";";
if (!struct_def.fixed) {
code_ += "struct " + Name(struct_def) + "Builder;";
}
if (opts_.generate_object_based_api) {
auto nativeName = NativeName(Name(struct_def), &struct_def, opts_);
if (!struct_def.fixed) { code_ += "struct " + nativeName + ";"; }
......@@ -1833,6 +1836,7 @@ class CppGenerator : public BaseGenerator {
if (opts_.generate_object_based_api) {
code_ += " typedef {{NATIVE_NAME}} NativeTableType;";
}
code_ += " typedef {{STRUCT_NAME}}Builder Builder;";
if (opts_.mini_reflect != IDLOptions::kNone) {
code_ +=
" static const flatbuffers::TypeTable *MiniReflectTypeTable() {";
......@@ -2085,6 +2089,7 @@ class CppGenerator : public BaseGenerator {
// Generate a builder struct:
code_ += "struct {{STRUCT_NAME}}Builder {";
code_ += " typedef {{STRUCT_NAME}} Table;";
code_ += " flatbuffers::FlatBufferBuilder &fbb_;";
code_ += " flatbuffers::uoffset_t start_;";
......
......@@ -14,6 +14,7 @@ struct NestedStruct;
struct ArrayStruct;
struct ArrayTable;
struct ArrayTableBuilder;
struct ArrayTableT;
bool operator==(const NestedStruct &lhs, const NestedStruct &rhs);
......@@ -229,6 +230,7 @@ inline bool operator!=(const ArrayTableT &lhs, const ArrayTableT &rhs) {
struct ArrayTable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ArrayTableT NativeTableType;
typedef ArrayTableBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return ArrayTableTypeTable();
}
......@@ -252,6 +254,7 @@ struct ArrayTable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ArrayTableBuilder {
typedef ArrayTable Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_a(const MyGame::Example::ArrayStruct *a) {
......
......@@ -10,11 +10,13 @@
namespace MyGame {
struct InParentNamespace;
struct InParentNamespaceBuilder;
struct InParentNamespaceT;
namespace Example2 {
struct Monster;
struct MonsterBuilder;
struct MonsterT;
} // namespace Example2
......@@ -24,6 +26,7 @@ namespace Example {
struct Test;
struct TestSimpleTableWithEnum;
struct TestSimpleTableWithEnumBuilder;
struct TestSimpleTableWithEnumT;
struct Vec3;
......@@ -31,15 +34,19 @@ struct Vec3;
struct Ability;
struct Stat;
struct StatBuilder;
struct StatT;
struct Referrable;
struct ReferrableBuilder;
struct ReferrableT;
struct Monster;
struct MonsterBuilder;
struct MonsterT;
struct TypeAliases;
struct TypeAliasesBuilder;
struct TypeAliasesT;
} // namespace Example
......@@ -613,6 +620,7 @@ struct InParentNamespaceT : public flatbuffers::NativeTable {
struct InParentNamespace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef InParentNamespaceT NativeTableType;
typedef InParentNamespaceBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return InParentNamespaceTypeTable();
}
......@@ -626,6 +634,7 @@ struct InParentNamespace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct InParentNamespaceBuilder {
typedef InParentNamespace Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
explicit InParentNamespaceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
......@@ -658,6 +667,7 @@ struct MonsterT : public flatbuffers::NativeTable {
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterTypeTable();
}
......@@ -671,6 +681,7 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct MonsterBuilder {
typedef Monster Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb)
......@@ -707,6 +718,7 @@ struct TestSimpleTableWithEnumT : public flatbuffers::NativeTable {
struct TestSimpleTableWithEnum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TestSimpleTableWithEnumT NativeTableType;
typedef TestSimpleTableWithEnumBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TestSimpleTableWithEnumTypeTable();
}
......@@ -730,6 +742,7 @@ struct TestSimpleTableWithEnum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Ta
};
struct TestSimpleTableWithEnumBuilder {
typedef TestSimpleTableWithEnum Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_color(MyGame::Example::Color color) {
......@@ -770,6 +783,7 @@ struct StatT : public flatbuffers::NativeTable {
struct Stat FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef StatT NativeTableType;
typedef StatBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return StatTypeTable();
}
......@@ -810,6 +824,7 @@ struct Stat FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct StatBuilder {
typedef Stat Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_id(flatbuffers::Offset<flatbuffers::String> id) {
......@@ -870,6 +885,7 @@ struct ReferrableT : public flatbuffers::NativeTable {
struct Referrable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ReferrableT NativeTableType;
typedef ReferrableBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return ReferrableTypeTable();
}
......@@ -899,6 +915,7 @@ struct Referrable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ReferrableBuilder {
typedef Referrable Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_id(uint64_t id) {
......@@ -999,6 +1016,7 @@ struct MonsterT : public flatbuffers::NativeTable {
/// an example documentation comment: monster object
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterTypeTable();
}
......@@ -1486,6 +1504,7 @@ template<> inline const MyGame::Example2::Monster *Monster::any_unique_as<MyGame
}
struct MonsterBuilder {
typedef Monster Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_pos(const MyGame::Example::Vec3 *pos) {
......@@ -1900,6 +1919,7 @@ struct TypeAliasesT : public flatbuffers::NativeTable {
struct TypeAliases FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TypeAliasesT NativeTableType;
typedef TypeAliasesBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TypeAliasesTypeTable();
}
......@@ -2013,6 +2033,7 @@ struct TypeAliases FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TypeAliasesBuilder {
typedef TypeAliases Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_i8(int8_t i8) {
......
......@@ -9,6 +9,7 @@
namespace MyGame {
struct MonsterExtra;
struct MonsterExtraBuilder;
struct MonsterExtraT;
bool operator==(const MonsterExtraT &lhs, const MonsterExtraT &rhs);
......@@ -61,6 +62,7 @@ inline bool operator!=(const MonsterExtraT &lhs, const MonsterExtraT &rhs) {
struct MonsterExtra FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterExtraT NativeTableType;
typedef MonsterExtraBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterExtraTypeTable();
}
......@@ -158,6 +160,7 @@ struct MonsterExtra FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct MonsterExtraBuilder {
typedef MonsterExtra Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_d0(double d0) {
......
......@@ -10,11 +10,13 @@
namespace MyGame {
struct InParentNamespace;
struct InParentNamespaceBuilder;
struct InParentNamespaceT;
namespace Example2 {
struct Monster;
struct MonsterBuilder;
struct MonsterT;
} // namespace Example2
......@@ -24,6 +26,7 @@ namespace Example {
struct Test;
struct TestSimpleTableWithEnum;
struct TestSimpleTableWithEnumBuilder;
struct TestSimpleTableWithEnumT;
struct Vec3;
......@@ -31,15 +34,19 @@ struct Vec3;
struct Ability;
struct Stat;
struct StatBuilder;
struct StatT;
struct Referrable;
struct ReferrableBuilder;
struct ReferrableT;
struct Monster;
struct MonsterBuilder;
struct MonsterT;
struct TypeAliases;
struct TypeAliasesBuilder;
struct TypeAliasesT;
} // namespace Example
......@@ -774,6 +781,7 @@ inline bool operator!=(const InParentNamespaceT &lhs, const InParentNamespaceT &
struct InParentNamespace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef InParentNamespaceT NativeTableType;
typedef InParentNamespaceBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return InParentNamespaceTypeTable();
}
......@@ -787,6 +795,7 @@ struct InParentNamespace FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct InParentNamespaceBuilder {
typedef InParentNamespace Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
explicit InParentNamespaceBuilder(flatbuffers::FlatBufferBuilder &_fbb)
......@@ -828,6 +837,7 @@ inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) {
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterTypeTable();
}
......@@ -841,6 +851,7 @@ struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct MonsterBuilder {
typedef Monster Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
explicit MonsterBuilder(flatbuffers::FlatBufferBuilder &_fbb)
......@@ -887,6 +898,7 @@ inline bool operator!=(const TestSimpleTableWithEnumT &lhs, const TestSimpleTabl
struct TestSimpleTableWithEnum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TestSimpleTableWithEnumT NativeTableType;
typedef TestSimpleTableWithEnumBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TestSimpleTableWithEnumTypeTable();
}
......@@ -910,6 +922,7 @@ struct TestSimpleTableWithEnum FLATBUFFERS_FINAL_CLASS : private flatbuffers::Ta
};
struct TestSimpleTableWithEnumBuilder {
typedef TestSimpleTableWithEnum Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_color(MyGame::Example::Color color) {
......@@ -962,6 +975,7 @@ inline bool operator!=(const StatT &lhs, const StatT &rhs) {
struct Stat FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef StatT NativeTableType;
typedef StatBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return StatTypeTable();
}
......@@ -1002,6 +1016,7 @@ struct Stat FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct StatBuilder {
typedef Stat Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_id(flatbuffers::Offset<flatbuffers::String> id) {
......@@ -1072,6 +1087,7 @@ inline bool operator!=(const ReferrableT &lhs, const ReferrableT &rhs) {
struct Referrable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ReferrableT NativeTableType;
typedef ReferrableBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return ReferrableTypeTable();
}
......@@ -1101,6 +1117,7 @@ struct Referrable FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ReferrableBuilder {
typedef Referrable Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_id(uint64_t id) {
......@@ -1255,6 +1272,7 @@ inline bool operator!=(const MonsterT &lhs, const MonsterT &rhs) {
/// an example documentation comment: monster object
struct Monster FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MonsterT NativeTableType;
typedef MonsterBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MonsterTypeTable();
}
......@@ -1742,6 +1760,7 @@ template<> inline const MyGame::Example2::Monster *Monster::any_unique_as<MyGame
}
struct MonsterBuilder {
typedef Monster Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_pos(const MyGame::Example::Vec3 *pos) {
......@@ -2177,6 +2196,7 @@ inline bool operator!=(const TypeAliasesT &lhs, const TypeAliasesT &rhs) {
struct TypeAliases FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TypeAliasesT NativeTableType;
typedef TypeAliasesBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TypeAliasesTypeTable();
}
......@@ -2290,6 +2310,7 @@ struct TypeAliases FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TypeAliasesBuilder {
typedef TypeAliases Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_i8(int8_t i8) {
......
......@@ -10,6 +10,7 @@ namespace NamespaceA {
namespace NamespaceB {
struct TableInNestedNS;
struct TableInNestedNSBuilder;
struct TableInNestedNST;
struct StructInNestedNS;
......@@ -118,6 +119,7 @@ inline bool operator!=(const TableInNestedNST &lhs, const TableInNestedNST &rhs)
struct TableInNestedNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TableInNestedNST NativeTableType;
typedef TableInNestedNSBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TableInNestedNSTypeTable();
}
......@@ -141,6 +143,7 @@ struct TableInNestedNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TableInNestedNSBuilder {
typedef TableInNestedNS Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_foo(int32_t foo) {
......
......@@ -9,6 +9,7 @@
namespace NamespaceA {
struct TableInFirstNS;
struct TableInFirstNSBuilder;
struct TableInFirstNST;
} // namespace NamespaceA
......@@ -16,6 +17,7 @@ struct TableInFirstNST;
namespace NamespaceC {
struct TableInC;
struct TableInCBuilder;
struct TableInCT;
} // namespace NamespaceC
......@@ -23,6 +25,7 @@ struct TableInCT;
namespace NamespaceA {
struct SecondTableInA;
struct SecondTableInABuilder;
struct SecondTableInAT;
bool operator==(const TableInFirstNST &lhs, const TableInFirstNST &rhs);
......@@ -78,6 +81,7 @@ inline bool operator!=(const TableInFirstNST &lhs, const TableInFirstNST &rhs) {
struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TableInFirstNST NativeTableType;
typedef TableInFirstNSBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TableInFirstNSTypeTable();
}
......@@ -118,6 +122,7 @@ struct TableInFirstNS FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TableInFirstNSBuilder {
typedef TableInFirstNS Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_foo_table(flatbuffers::Offset<NamespaceA::NamespaceB::TableInNestedNS> foo_table) {
......@@ -180,6 +185,7 @@ inline bool operator!=(const TableInCT &lhs, const TableInCT &rhs) {
struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef TableInCT NativeTableType;
typedef TableInCBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return TableInCTypeTable();
}
......@@ -213,6 +219,7 @@ struct TableInC FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct TableInCBuilder {
typedef TableInC Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_refer_to_a1(flatbuffers::Offset<NamespaceA::TableInFirstNS> refer_to_a1) {
......@@ -268,6 +275,7 @@ inline bool operator!=(const SecondTableInAT &lhs, const SecondTableInAT &rhs) {
struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef SecondTableInAT NativeTableType;
typedef SecondTableInABuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return SecondTableInATypeTable();
}
......@@ -292,6 +300,7 @@ struct SecondTableInA FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct SecondTableInABuilder {
typedef SecondTableInA Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_refer_to_c(flatbuffers::Offset<NamespaceC::TableInC> refer_to_c) {
......
......@@ -13,6 +13,7 @@ namespace Geometry {
struct Vector3D;
struct ApplicationData;
struct ApplicationDataBuilder;
struct ApplicationDataT;
inline const flatbuffers::TypeTable *Vector3DTypeTable();
......@@ -67,6 +68,7 @@ struct ApplicationDataT : public flatbuffers::NativeTable {
struct ApplicationData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef ApplicationDataT NativeTableType;
typedef ApplicationDataBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return ApplicationDataTypeTable();
}
......@@ -91,6 +93,7 @@ struct ApplicationData FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct ApplicationDataBuilder {
typedef ApplicationData Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_vectors(flatbuffers::Offset<flatbuffers::Vector<const Geometry::Vector3D *>> vectors) {
......
......@@ -7,6 +7,7 @@
#include "flatbuffers/flatbuffers.h"
struct Attacker;
struct AttackerBuilder;
struct AttackerT;
struct Rapunzel;
......@@ -14,6 +15,7 @@ struct Rapunzel;
struct BookReader;
struct Movie;
struct MovieBuilder;
struct MovieT;
bool operator==(const AttackerT &lhs, const AttackerT &rhs);
......@@ -278,6 +280,7 @@ inline bool operator!=(const AttackerT &lhs, const AttackerT &rhs) {
struct Attacker FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef AttackerT NativeTableType;
typedef AttackerBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return AttackerTypeTable();
}
......@@ -301,6 +304,7 @@ struct Attacker FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct AttackerBuilder {
typedef Attacker Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_sword_attack_damage(int32_t sword_attack_damage) {
......@@ -349,6 +353,7 @@ inline bool operator!=(const MovieT &lhs, const MovieT &rhs) {
struct Movie FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
typedef MovieT NativeTableType;
typedef MovieBuilder Builder;
static const flatbuffers::TypeTable *MiniReflectTypeTable() {
return MovieTypeTable();
}
......@@ -415,6 +420,7 @@ struct Movie FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
};
struct MovieBuilder {
typedef Movie Table;
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
void add_main_character_type(Character main_character_type) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment