Enumeration literal mapping for C++ (C++ code)
ACS generates Enumeration literals inside the enumeration declaration.
The generation of an enumeration literals is derived from the properties of the Enumeration Literal and the values set for the Tag Definitions applied by the «C++ Enum Literal» stereotype.
Properties:
• If the
Description property has a value, ACS generates the description as an inline comment after the enumeration literal.
Example code • The
Name property is generated as the name of the enumeration literal in the code.
Example code | ACS may modify the enumeration literal name that is added to the code to make it valid for C++. You can specify the exact enumeration literal name to add to the code through the CODE_GENERATION_NAME property of an Enumeration Literal. Tell me more... |
Tag Definitions:
The following tag definitions are applied to an Enumeration Literal by the «C++ Enum Literal» stereotype:
• ·If the tagged value of the
C++ Expression tag definition has been set, the value is generated as the expression of the enumeration literal.
Example code Reverser Notes:When reverse engineering Enumeration Literals, the Reverser applies the «C++ Enumeration» stereotype to each Enumeration Literal and records the value of the expression in the text of the C++ Expression tag definition.
• ·If the tagged value of the
C++ Prefix Name is set to TRUE, the enumeration literal prefix defined in the
mangle.ini file is used. By default, the enumeration literal prefix in the
mangle.ini file is set to '%parent%_', so that the enumeration literal is prefixed with the name of the owning Enumeration followed by an underscore.
Example code | The enumeration literals of anonymous enumerations are generated with no prefixes. |