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'"};