// We have a table and not a struct.
code_ += " static auto constexpr Create = Create{{STRUCT_NAME}};";
}
- code_ += " static constexpr auto name = \"{{STRUCT_NAME}}\";";
- code_ +=
- " static constexpr auto fully_qualified_name = "
- "\"{{FULLY_QUALIFIED_NAME}}\";";
- GenFieldNames(struct_def);
- GenFieldTypeHelper(struct_def);
- GenFieldsNumber(struct_def);
+ if (opts_.cpp_static_reflection) {
+ code_ += " static constexpr auto name = \"{{STRUCT_NAME}}\";";
+ code_ +=
+ " static constexpr auto fully_qualified_name = "
+ "\"{{FULLY_QUALIFIED_NAME}}\";";
+ GenFieldNames(struct_def);
+ GenFieldTypeHelper(struct_def);
+ GenFieldsNumber(struct_def);
+ }
code_ += "};";
code_ += "";
}
code_ += " typedef {{NATIVE_NAME}} NativeTableType;";
}
code_ += " typedef {{STRUCT_NAME}}Builder Builder;";
- if (opts_.cpp_static_reflection) { code_ += " struct Traits;"; }
+ if (opts_.g_cpp_std >= cpp::CPP_STD_17) { code_ += " struct Traits;"; }
if (opts_.mini_reflect != IDLOptions::kNone) {
code_ +=
" static const flatbuffers::TypeTable *MiniReflectTypeTable() {";
// Definition for type traits for this table type. This allows querying var-
// ious compile-time traits of the table.
- if (opts_.cpp_static_reflection) { GenTraitsStruct(struct_def); }
+ if (opts_.g_cpp_std >= cpp::CPP_STD_17) { GenTraitsStruct(struct_def); }
// Generate a CreateXDirect function with vector types as parameters
if (opts_.cpp_direct_copy && has_string_or_vector_fields) {
code_ += "";
code_ += " public:";
- if (opts_.cpp_static_reflection) { code_ += " struct Traits;"; }
+ if (opts_.g_cpp_std >= cpp::CPP_STD_17) { code_ += " struct Traits;"; }
// Make TypeTable accessible via the generated struct.
if (opts_.mini_reflect != IDLOptions::kNone) {
// Definition for type traits for this table type. This allows querying var-
// ious compile-time traits of the table.
- if (opts_.cpp_static_reflection) { GenTraitsStruct(struct_def); }
+ if (opts_.g_cpp_std >= cpp::CPP_STD_17) { GenTraitsStruct(struct_def); }
}
// Set up the correct namespace. Only open a namespace if the existing one is