|
cprover
|
The union type. More...
#include <c_types.h>
Inheritance diagram for union_typet:
Collaboration diagram for union_typet:Additional Inherited Members | |
Public Types inherited from struct_union_typet | |
| typedef std::vector< componentt > | componentst |
Public Types inherited from irept | |
| using | baset = tree_implementationt |
Public Types inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > > | |
| using | dt |
| using | subt |
| using | named_subt |
| using | tree_implementationt |
| Used to refer to this class from derived classes. | |
Static Public Member Functions inherited from typet | |
| static void | check (const typet &, const validation_modet=validation_modet::INVARIANT) |
| Check that the type is well-formed (shallow checks only, i.e., subtypes are not checked) | |
| static void | validate (const typet &type, const namespacet &, const validation_modet vm=validation_modet::INVARIANT) |
| Check that the type is well-formed, assuming that its subtypes have already been checked for well-formedness. | |
| static void | validate_full (const typet &type, const namespacet &ns, const validation_modet vm=validation_modet::INVARIANT) |
| Check that the type is well-formed (full check, including checks of subtypes) | |
Static Public Member Functions inherited from irept | |
| static bool | is_comment (const irep_idt &name) |
| static std::size_t | number_of_non_comments (const named_subt &) |
| count the number of named_sub elements that are not comments | |
Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > > | |
| void | detach () |
Static Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > > | |
| static void | remove_ref (dt *old_data) |
| static void | nonrecursive_destructor (dt *old_data) |
| Does the same as remove_ref, but using an explicit stack instead of recursion. | |
Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > > | |
| dt * | data |
Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > > | |
| static dt | empty_d |
|
inlineexplicit |
| optionalt< std::pair< struct_union_typet::componentt, mp_integer > > union_typet::find_widest_union_component | ( | const namespacet & | ns | ) | const |
Determine the member of maximum bit width in a union type.
If no member, or a member of non-fixed width can be found, return nullopt.
| ns | Namespace to resolve tag types. |
Definition at line 305 of file c_types.cpp.