cprover
struct_union_typet Class Reference

Base type for structs and unions. More...

#include <std_types.h>

+ Inheritance diagram for struct_union_typet:
+ Collaboration diagram for struct_union_typet:

Classes

class  componentt
 

Public Types

typedef std::vector< componenttcomponentst
 
- Public Types inherited from irept
typedef std::vector< ireptsubt
 
typedef std::map< irep_namet, ireptnamed_subt
 

Public Member Functions

 struct_union_typet (const irep_idt &_id)
 
const componentstcomponents () const
 
componentstcomponents ()
 
bool has_component (const irep_idt &component_name) const
 
const componenttget_component (const irep_idt &component_name) const
 Get the reference to a component with given name. More...
 
std::size_t component_number (const irep_idt &component_name) const
 Return the sequence number of the component with given name. More...
 
const typetcomponent_type (const irep_idt &component_name) const
 
irep_idt get_tag () const
 
void set_tag (const irep_idt &tag)
 
bool is_class () const
 A struct may be a class, where members may have access restrictions. More...
 
irep_idt default_access () const
 Return the access specification for members where access has not been modified. More...
 
- Public Member Functions inherited from typet
 typet ()
 
 typet (const irep_idt &_id)
 
 typet (const irep_idt &_id, const typet &_subtype)
 
const typetsubtype () const
 
typetsubtype ()
 
bool has_subtypes () const
 
bool has_subtype () const
 
void remove_subtype ()
 
const source_locationtsource_location () const
 
source_locationtadd_source_location ()
 
typetadd_type (const irep_namet &name)
 
const typetfind_type (const irep_namet &name) const
 
- Public Member Functions inherited from irept
bool is_nil () const
 
bool is_not_nil () const
 
 irept (const irep_idt &_id)
 
 irept ()
 
 irept (const irept &irep)
 
 irept (irept &&irep)
 
ireptoperator= (const irept &irep)
 
ireptoperator= (irept &&irep)
 
 ~irept ()
 
const irep_idtid () const
 
const std::string & id_string () const
 
void id (const irep_idt &_data)
 
const ireptfind (const irep_namet &name) const
 
ireptadd (const irep_namet &name)
 
ireptadd (const irep_namet &name, const irept &irep)
 
const std::string & get_string (const irep_namet &name) const
 
const irep_idtget (const irep_namet &name) const
 
bool get_bool (const irep_namet &name) const
 
signed int get_int (const irep_namet &name) const
 
unsigned int get_unsigned_int (const irep_namet &name) const
 
std::size_t get_size_t (const irep_namet &name) const
 
long long get_long_long (const irep_namet &name) const
 
void set (const irep_namet &name, const irep_idt &value)
 
void set (const irep_namet &name, const irept &irep)
 
void set (const irep_namet &name, const long long value)
 
void remove (const irep_namet &name)
 
void move_to_sub (irept &irep)
 
void move_to_named_sub (const irep_namet &name, irept &irep)
 
bool operator== (const irept &other) const
 
bool operator!= (const irept &other) const
 
void swap (irept &irep)
 
bool operator< (const irept &other) const
 defines ordering on the internal representation More...
 
bool ordering (const irept &other) const
 defines ordering on the internal representation More...
 
int compare (const irept &i) const
 defines ordering on the internal representation More...
 
void clear ()
 
void make_nil ()
 
subtget_sub ()
 
const subtget_sub () const
 
named_subtget_named_sub ()
 
const named_subtget_named_sub () const
 
named_subtget_comments ()
 
const named_subtget_comments () const
 
std::size_t hash () const
 
std::size_t full_hash () const
 
bool full_eq (const irept &other) const
 
std::string pretty (unsigned indent=0, unsigned max_indent=0) const
 
const dtread () const
 
dtwrite ()
 

Additional Inherited Members

- Static Public Member Functions inherited from typet
static void check (const typet &, const validation_modet)
 Check that the type is well-formed (shallow checks only, i.e., subtypes are not checked) More...
 
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. More...
 
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) More...
 
- Protected Member Functions inherited from irept
void detach ()
 
- Static Protected Member Functions inherited from irept
static bool is_comment (const irep_namet &name)
 
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. More...
 
- Protected Attributes inherited from irept
dtdata
 
- Static Protected Attributes inherited from irept
static dt empty_d
 

Detailed Description

Base type for structs and unions.

For example C structs, C unions, C++ classes, Java classes.

Definition at line 114 of file std_types.h.

Member Typedef Documentation

◆ componentst

Definition at line 203 of file std_types.h.

Constructor & Destructor Documentation

◆ struct_union_typet()

struct_union_typet::struct_union_typet ( const irep_idt _id)
inlineexplicit

Definition at line 117 of file std_types.h.

Member Function Documentation

◆ component_number()

std::size_t struct_union_typet::component_number ( const irep_idt component_name) const

Return the sequence number of the component with given name.

Definition at line 35 of file std_types.cpp.

◆ component_type()

const typet & struct_union_typet::component_type ( const irep_idt component_name) const

Definition at line 66 of file std_types.cpp.

◆ components() [1/2]

const componentst& struct_union_typet::components ( ) const
inline

Definition at line 205 of file std_types.h.

◆ components() [2/2]

componentst& struct_union_typet::components ( )
inline

Definition at line 210 of file std_types.h.

◆ default_access()

irep_idt struct_union_typet::default_access ( ) const
inline

Return the access specification for members where access has not been modified.

Definition at line 237 of file std_types.h.

◆ get_component()

const struct_union_typet::componentt & struct_union_typet::get_component ( const irep_idt component_name) const

Get the reference to a component with given name.

Definition at line 53 of file std_types.cpp.

◆ get_tag()

irep_idt struct_union_typet::get_tag ( ) const
inline

Definition at line 226 of file std_types.h.

◆ has_component()

bool struct_union_typet::has_component ( const irep_idt component_name) const
inline

Definition at line 215 of file std_types.h.

◆ is_class()

bool struct_union_typet::is_class ( ) const
inline

A struct may be a class, where members may have access restrictions.

Definition at line 230 of file std_types.h.

◆ set_tag()

void struct_union_typet::set_tag ( const irep_idt tag)
inline

Definition at line 227 of file std_types.h.


The documentation for this class was generated from the following files: