| Methods | Description |
|---|---|
| 'Class_Name'() | Constructor to initialise the variables of the base classes. Note, the bounds of the integer type must be locally static. Therefore, they can be determined at compile time. |
| ~ 'Class_Name'() | Destructor to remove an unused type info instance. |
| static const char **get_values() | Returns ``values''. |
| static int left() | Returns the left bound of the integer type. Corresponds to the ``left'' VHDL attribute. |
| static int right() | Returns the right bound of the integer type. Corresponds to the ``right'' VHDL attribute. |
| static int low() | Returns the low bound of the integer type. Corresponds to the ``low'' VHDL attribute. |
| static int high() | Returns the high bound of the integer type. Corresponds to the ``high'' VHDL attribute. |
Example:
TYPE myenum IS (red, yellow, green);is converted into the following type info class
class L3lib_Q4pack_I6myenum : enum_info_base {
static const char *values[3];
public:
static const char **get_values() { return values; }
static int low() { return 0; };
static int high() { return 2; }
static int left() { return 0; }
static int right() { return 2; }
L3lib_Q4pack_I5myint() :
enum_info_base(left(), right(), values) { };
}
};
const char *L3lib_Q4pack_I6myenum::values[2] = {"'0'", "'1'"};