|  | libFirm
    | 
| Modules | |
| Class | |
| If the type opcode is set to type_class the type represents class types. | |
| Struct | |
| A struct type represents aggregate types that consist of a list of fields. | |
| Union | |
| The union type represents union types. | |
| Functions | |
| ident * | get_compound_ident (const ir_type *tp) | 
| Returns the identifier of a compound type.  More... | |
| const char * | get_compound_name (const ir_type *tp) | 
| Returns compound identifier as c-string.  More... | |
| size_t | get_compound_n_members (const ir_type *tp) | 
| Returns the number of elements in a Firm compound type.  More... | |
| ir_entity * | get_compound_member (const ir_type *tp, size_t pos) | 
| Returns the member of a Firm compound type at position pos.  More... | |
| size_t | get_compound_member_index (ir_type const *tp, ir_entity const *member) | 
| Returns index of member in tp, -1 if not contained.  More... | |
| void | remove_compound_member (ir_type *compound, ir_entity *entity) | 
| Remove a member from a compound type.  More... | |
| void | set_compound_variable_size (ir_type *compound, int variable_size) | 
| Sets the variable size flag of a compound type.  More... | |
| int | is_compound_variable_size (const ir_type *compound) | 
| Returns the variable size flag.  More... | |
| void | default_layout_compound_type (ir_type *tp) | 
| layout members of a struct/union or class type in a default way.  More... | |
| int | is_compound_type (const ir_type *tp) | 
| Checks whether a type is a compound type.  More... | |
| void default_layout_compound_type | ( | ir_type * | tp | ) | 
layout members of a struct/union or class type in a default way.
Returns the member of a Firm compound type at position pos.
| tp | The type (must be struct, union or class). | 
| pos | The number of the member. | 
Returns index of member in tp, -1 if not contained.
| size_t get_compound_n_members | ( | const ir_type * | tp | ) | 
Returns the number of elements in a Firm compound type.
This is just a comfortability function, because structs and classes can often be treated be the same code, but they have different access functions to their members.
| tp | The type (must be struct, union or class). | 
| const char* get_compound_name | ( | const ir_type * | tp | ) | 
Returns compound identifier as c-string.
| int is_compound_type | ( | const ir_type * | tp | ) | 
Checks whether a type is a compound type.
| tp | - any type | 
| int is_compound_variable_size | ( | const ir_type * | compound | ) | 
Returns the variable size flag.
Remove a member from a compound type.
| void set_compound_variable_size | ( | ir_type * | compound, | 
| int | variable_size | ||
| ) | 
Sets the variable size flag of a compound type.
The last member of a variable size compound type may be an array type without explicit size. So the get_type_size_bytes() of a variable size compound type only returns a minimum size for the type (the size if the last members size is 0)