Added "Direct" suffix to vector/string object creation functions.

They were overloaded, but also had default arguments, so would
become ambiguous when used with few arguments.

Change-Id: Ifac7f3ea3a6391d971dfeda8e33129c8c38d6f12
Tested: on Linux.
parent 18d67ed8
...@@ -133,7 +133,7 @@ inline flatbuffers::Offset<KeyValue> CreateKeyValue(flatbuffers::FlatBufferBuild ...@@ -133,7 +133,7 @@ inline flatbuffers::Offset<KeyValue> CreateKeyValue(flatbuffers::FlatBufferBuild
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<KeyValue> CreateKeyValue(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<KeyValue> CreateKeyValueDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *key = nullptr, const char *key = nullptr,
const char *value = nullptr) { const char *value = nullptr) {
return CreateKeyValue(_fbb, key ? _fbb.CreateString(key) : 0, value ? _fbb.CreateString(value) : 0); return CreateKeyValue(_fbb, key ? _fbb.CreateString(key) : 0, value ? _fbb.CreateString(value) : 0);
...@@ -187,7 +187,7 @@ inline flatbuffers::Offset<EnumVal> CreateEnumVal(flatbuffers::FlatBufferBuilder ...@@ -187,7 +187,7 @@ inline flatbuffers::Offset<EnumVal> CreateEnumVal(flatbuffers::FlatBufferBuilder
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<EnumVal> CreateEnumVal(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<EnumVal> CreateEnumValDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *name = nullptr, const char *name = nullptr,
int64_t value = 0, int64_t value = 0,
flatbuffers::Offset<Object> object = 0) { flatbuffers::Offset<Object> object = 0) {
...@@ -260,7 +260,7 @@ inline flatbuffers::Offset<Enum> CreateEnum(flatbuffers::FlatBufferBuilder &_fbb ...@@ -260,7 +260,7 @@ inline flatbuffers::Offset<Enum> CreateEnum(flatbuffers::FlatBufferBuilder &_fbb
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Enum> CreateEnum(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Enum> CreateEnumDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *name = nullptr, const char *name = nullptr,
const std::vector<flatbuffers::Offset<EnumVal>> *values = nullptr, const std::vector<flatbuffers::Offset<EnumVal>> *values = nullptr,
bool is_union = false, bool is_union = false,
...@@ -362,7 +362,7 @@ inline flatbuffers::Offset<Field> CreateField(flatbuffers::FlatBufferBuilder &_f ...@@ -362,7 +362,7 @@ inline flatbuffers::Offset<Field> CreateField(flatbuffers::FlatBufferBuilder &_f
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Field> CreateField(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Field> CreateFieldDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *name = nullptr, const char *name = nullptr,
flatbuffers::Offset<Type> type = 0, flatbuffers::Offset<Type> type = 0,
uint16_t id = 0, uint16_t id = 0,
...@@ -446,7 +446,7 @@ inline flatbuffers::Offset<Object> CreateObject(flatbuffers::FlatBufferBuilder & ...@@ -446,7 +446,7 @@ inline flatbuffers::Offset<Object> CreateObject(flatbuffers::FlatBufferBuilder &
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Object> CreateObject(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Object> CreateObjectDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *name = nullptr, const char *name = nullptr,
const std::vector<flatbuffers::Offset<Field>> *fields = nullptr, const std::vector<flatbuffers::Offset<Field>> *fields = nullptr,
bool is_struct = false, bool is_struct = false,
...@@ -520,7 +520,7 @@ inline flatbuffers::Offset<Schema> CreateSchema(flatbuffers::FlatBufferBuilder & ...@@ -520,7 +520,7 @@ inline flatbuffers::Offset<Schema> CreateSchema(flatbuffers::FlatBufferBuilder &
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Schema> CreateSchema(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Schema> CreateSchemaDirect(flatbuffers::FlatBufferBuilder &_fbb,
const std::vector<flatbuffers::Offset<Object>> *objects = nullptr, const std::vector<flatbuffers::Offset<Object>> *objects = nullptr,
const std::vector<flatbuffers::Offset<Enum>> *enums = nullptr, const std::vector<flatbuffers::Offset<Enum>> *enums = nullptr,
const char *file_ident = nullptr, const char *file_ident = nullptr,
......
...@@ -188,7 +188,7 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder ...@@ -188,7 +188,7 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Monster> CreateMonsterDirect(flatbuffers::FlatBufferBuilder &_fbb,
const Vec3 *pos = 0, const Vec3 *pos = 0,
int16_t mana = 150, int16_t mana = 150,
int16_t hp = 100, int16_t hp = 100,
...@@ -249,7 +249,7 @@ inline flatbuffers::Offset<Weapon> CreateWeapon(flatbuffers::FlatBufferBuilder & ...@@ -249,7 +249,7 @@ inline flatbuffers::Offset<Weapon> CreateWeapon(flatbuffers::FlatBufferBuilder &
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Weapon> CreateWeapon(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Weapon> CreateWeaponDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *name = nullptr, const char *name = nullptr,
int16_t damage = 0) { int16_t damage = 0) {
return CreateWeapon(_fbb, name ? _fbb.CreateString(name) : 0, damage); return CreateWeapon(_fbb, name ? _fbb.CreateString(name) : 0, damage);
......
...@@ -897,11 +897,11 @@ class CppGenerator : public BaseGenerator { ...@@ -897,11 +897,11 @@ class CppGenerator : public BaseGenerator {
} }
code += " return builder_.Finish();\n}\n\n"; code += " return builder_.Finish();\n}\n\n";
// Generate a CreateX function with vector types as parameters // Generate a CreateXDirect function with vector types as parameters
if (gen_vector_pars) { if (gen_vector_pars) {
code += "inline flatbuffers::Offset<" + struct_def.name + "> Create"; code += "inline flatbuffers::Offset<" + struct_def.name + "> Create";
code += struct_def.name; code += struct_def.name;
code += "(flatbuffers::FlatBufferBuilder &_fbb"; code += "Direct(flatbuffers::FlatBufferBuilder &_fbb";
for (auto it = struct_def.fields.vec.begin(); for (auto it = struct_def.fields.vec.begin();
it != struct_def.fields.vec.end(); ++it) { it != struct_def.fields.vec.end(); ++it) {
auto &field = **it; auto &field = **it;
......
...@@ -260,7 +260,7 @@ inline flatbuffers::Offset<Stat> CreateStat(flatbuffers::FlatBufferBuilder &_fbb ...@@ -260,7 +260,7 @@ inline flatbuffers::Offset<Stat> CreateStat(flatbuffers::FlatBufferBuilder &_fbb
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Stat> CreateStat(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Stat> CreateStatDirect(flatbuffers::FlatBufferBuilder &_fbb,
const char *id = nullptr, const char *id = nullptr,
int64_t val = 0, int64_t val = 0,
uint16_t count = 0) { uint16_t count = 0) {
...@@ -542,7 +542,7 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder ...@@ -542,7 +542,7 @@ inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder
return builder_.Finish(); return builder_.Finish();
} }
inline flatbuffers::Offset<Monster> CreateMonster(flatbuffers::FlatBufferBuilder &_fbb, inline flatbuffers::Offset<Monster> CreateMonsterDirect(flatbuffers::FlatBufferBuilder &_fbb,
const Vec3 *pos = 0, const Vec3 *pos = 0,
int16_t mana = 150, int16_t mana = 150,
int16_t hp = 100, int16_t hp = 100,
......
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