mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +00:00
update C++ generator to emit scoped enums in vector of unions (#7075)
This commit is contained in:
@@ -468,6 +468,10 @@ inline bool IsUnion(const Type &type) {
|
||||
return type.enum_def != nullptr && type.enum_def->is_union;
|
||||
}
|
||||
|
||||
inline bool IsUnionType(const Type &type) {
|
||||
return IsUnion(type) && IsInteger(type.base_type);
|
||||
}
|
||||
|
||||
inline bool IsVector(const Type &type) {
|
||||
return type.base_type == BASE_TYPE_VECTOR;
|
||||
}
|
||||
|
||||
@@ -671,8 +671,9 @@ class CppGenerator : public BaseGenerator {
|
||||
}
|
||||
|
||||
bool VectorElementUserFacing(const Type &type) const {
|
||||
return opts_.g_cpp_std >= cpp::CPP_STD_17 && opts_.g_only_fixed_enums &&
|
||||
IsEnum(type);
|
||||
return (opts_.scoped_enums && IsEnum(type)) ||
|
||||
(opts_.g_cpp_std >= cpp::CPP_STD_17 && opts_.g_only_fixed_enums &&
|
||||
IsEnum(type));
|
||||
}
|
||||
|
||||
void GenComment(const std::vector<std::string> &dc, const char *prefix = "") {
|
||||
|
||||
Reference in New Issue
Block a user