Define bit mask operators for scoped enums bitfields

Close #3887
This commit is contained in:
BogDan Vatra
2016-05-30 14:04:37 +03:00
parent 06eb6e94e3
commit 7dfe8e726b
2 changed files with 33 additions and 1 deletions

View File

@@ -182,7 +182,10 @@ static void GenEnum(const Parser &parser, EnumDef &enum_def,
code += GenEnumVal(enum_def, minv->name, parser.opts) + ",\n";
code += " " + GenEnumVal(enum_def, "MAX", parser.opts) + " = ";
code += GenEnumVal(enum_def, maxv->name, parser.opts) + "\n";
code += "};\n\n";
code += "};\n";
if (parser.opts.scoped_enums && enum_def.attributes.Lookup("bit_flags"))
code += "DEFINE_BITMASK_OPERATORS(" + enum_def.name + ")\n";
code += "\n";
// Generate a generate string table for enum values.
// Problem is, if values are very sparse that could generate really big