Move defined part to idl.h (#7823)

This commit is contained in:
Saman
2023-02-18 12:34:32 +08:00
committed by GitHub
parent a56f9ec50e
commit f7a75173f1
2 changed files with 12 additions and 10 deletions

View File

@@ -168,6 +168,17 @@ inline const char* TypeName(const BaseType t) {
return nullptr;
}
inline const char* StringOf(const BaseType t) {
switch (t) {
#define FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...) \
case BASE_TYPE_##ENUM: return #CTYPE;
FLATBUFFERS_GEN_TYPES(FLATBUFFERS_TD)
#undef FLATBUFFERS_TD
default: FLATBUFFERS_ASSERT(0);
}
return "";
}
// clang-format on
struct StructDef;

View File

@@ -725,16 +725,7 @@ class CppGenerator : public BaseGenerator {
if (type.enum_def) return WrapInNameSpace(*type.enum_def);
if (type.base_type == BASE_TYPE_BOOL) return "bool";
}
switch (type.base_type) {
// clang-format off
#define FLATBUFFERS_TD(ENUM, IDLTYPE, CTYPE, ...) \
case BASE_TYPE_##ENUM: return #CTYPE;
FLATBUFFERS_GEN_TYPES(FLATBUFFERS_TD)
#undef FLATBUFFERS_TD
//clang-format on
default: FLATBUFFERS_ASSERT(0);
}
return "";
return StringOf(type.base_type);
}
// Return a C++ pointer type, specialized to the actual struct/table types,