next up previous contents
Next: Enumeration Type Info Instantiation Up: The Enumeration Type Info Previous: Enumeration Type Info Variables

Enumeration Type Info Methods

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


next up previous contents
Next: Enumeration Type Info Instantiation Up: The Enumeration Type Info Previous: Enumeration Type Info Variables

1998-11-17