Package pygccxml :: Package declarations :: Module enumeration :: Class enumeration_t

type enumeration_t

source code

               object --+    
                        |    
declaration.declaration_t --+
                            |
                           enumeration_t

describes C++ enum

Instance Methods
 
__init__(self, name='', values=None)
creates class that describes C++ enum declaration
source code
 
__eq__(self, other)
function will return true, if both declarations refers to the same object.
source code
 
append_value(self, valuename, valuenum=None)
Append another enumeration value to the enum.
source code
 
has_value_name(self, name)
Check if this enum has a particular name among its values.
source code
 
get_name2value_dict(self)
returns a dictionary, that maps between enum name( key ) and enum value( value )
source code
 
i_depend_on_them(self, recursive=True)
return list of all types and declarations the declaration depends on
source code

Inherited from declaration.declaration_t: __lt__, __ne__, __str__, create_decl_string

Properties
list values
A list of tuples (valname(str), valnum(int)) that contain the enumeration values.
  byte_size
Size of this class in bytes @type: int
  byte_align
Alignment of this class in bytes @type: int

Inherited from declaration.declaration_t: attributes, cache, compiler, decl_string, demangled, is_artificial, location, mangled, name, parent, partial_decl_string, partial_name, top_parent

Method Details

__init__(self, name='', values=None)
(Constructor)

source code 

creates class that describes C++ enum declaration

The items of the list 'values' may either be strings containing the enumeration value name or tuples (name, numvalue).

Parameters:
  • name (str) - Enum name
  • parent (declaration_t) - Parent declaration
  • values (list) - Enumeration values
Overrides: declaration.declaration_t.__init__

__eq__(self, other)
(Equality operator)

source code 

function will return true, if both declarations refers to the same object. This function could be implemented in terms of _get__cmp__data, but in this case it will downgrade performance. self.mangled property is not compared, because it could be chaned from one compilation time to an other.

Overrides: declaration.declaration_t.__eq__
(inherited documentation)

append_value(self, valuename, valuenum=None)

source code 

Append another enumeration value to the enum.

The numeric value may be None in which case it is automatically determined by increasing the value of the last item.

When the 'values' attribute is accessed the resulting list will be in the same order as append_value() was called.

Parameters:
  • valuename (str) - The name of the value.
  • valuenum (int) - The numeric value or None.

has_value_name(self, name)

source code 

Check if this enum has a particular name among its values.

Parameters:
  • name (str) - Enumeration value name
Returns:
True if there is an enumeration value with the given name

i_depend_on_them(self, recursive=True)

source code 

return list of all types and declarations the declaration depends on

Overrides: declaration.declaration_t.i_depend_on_them
(inherited documentation)

Property Details

values

A list of tuples (valname(str), valnum(int)) that contain the enumeration values.

Get Method:
_get_values(self)
Set Method:
_set_values(self, values)
Type:
list

byte_size

Size of this class in bytes @type: int

Get Method:
_get_byte_size(self)
Set Method:
_set_byte_size(self, new_byte_size)

byte_align

Alignment of this class in bytes @type: int

Get Method:
_get_byte_align(self)
Set Method:
_set_byte_align(self, new_byte_align)