cprover
array_typet Class Reference

arrays with given size More...

#include <std_types.h>

Inheritance diagram for array_typet:
[legend]
Collaboration diagram for array_typet:
[legend]

Public Member Functions

 array_typet (const typet &_subtype, const exprt &_size)
 
const exprtsize () const
 
exprtsize ()
 
bool is_complete () const
 
bool is_incomplete () const
 
- Public Member Functions inherited from type_with_subtypet
 type_with_subtypet ()
 
 type_with_subtypet (const irep_idt &_id)
 
 type_with_subtypet (const irep_idt &_id, const typet &_subtype)
 
- Public Member Functions inherited from typet
 typet ()
 
 typet (const irep_idt &_id)
 
 typet (const irep_idt &_id, const typet &_subtype)
 
const typetsubtype () const
 
typetsubtype ()
 
subtypestsubtypes ()
 
const subtypestsubtypes () const
 
bool has_subtypes () const
 
bool has_subtype () const
 
void remove_subtype ()
 
void move_to_subtypes (typet &type)
 
void copy_to_subtypes (const typet &type)
 
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

- Public Types inherited from typet
typedef std::vector< typetsubtypest
 
- Public Types inherited from irept
typedef std::vector< ireptsubt
 
typedef std::map< irep_namet, ireptnamed_subt
 
- 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

arrays with given size

Definition at line 1013 of file std_types.h.

Constructor & Destructor Documentation

◆ array_typet()

array_typet::array_typet ( const typet _subtype,
const exprt _size 
)
inline

Definition at line 1016 of file std_types.h.

References size().

Member Function Documentation

◆ is_complete()

bool array_typet::is_complete ( ) const
inline

Definition at line 1033 of file std_types.h.

References irept::is_not_nil(), and size().

Referenced by c_typecheck_baset::do_initializer_rec(), and goto_symex_statet::rename().

◆ is_incomplete()

bool array_typet::is_incomplete ( ) const
inline

Definition at line 1038 of file std_types.h.

References irept::is_nil(), and size().

Referenced by goto_symex_statet::rename(), and c_typecheck_baset::typecheck_compound_body().

◆ size() [1/2]

const exprt& array_typet::size ( ) const
inline

Definition at line 1023 of file std_types.h.

References irept::find().

Referenced by string_abstractiont::add_dummy_symbol_and_value(), linkingt::adjust_object_type_rec(), array_typet(), base_type_eqt::base_type_eq_rec(), simplify_exprt::bits2expr(), goto_checkt::bounds_check(), value_set_dereferencet::bounds_check(), string_abstractiont::build_abstraction_type_rec(), string_abstractiont::build_array(), endianness_mapt::build_big_endian(), boolbvt::bv_get_unbounded_array(), cpp_typecheckt::check_fixed_size_array(), check_renaming(), dump_ct::cleanup_type(), boolbvt::convert_array_of(), boolbvt::convert_index(), smt2_convt::convert_index(), smt2_convt::convert_type(), smt2_convt::convert_with(), boolbvt::convert_with_array(), cpp_typecheckt::cpp_constructor(), cpp_typecheckt::cpp_destructor(), c_typecheck_baset::designator_enter(), c_typecheck_baset::do_designated_initializer(), c_typecheck_baset::do_initializer(), c_typecheck_baset::do_initializer_list(), c_typecheck_baset::do_initializer_rec(), goto_convertt::do_scanf(), linkingt::duplicate_type_symbol(), expr_initializert< nondet >::expr_initializer_rec(), smt2_convt::find_symbols(), smt2_convt::find_symbols_rec(), smt2_convt::flatten_array(), flatten_byte_extract(), boolbv_widtht::get_entry(), rename_symbolt::have_to_rename(), replace_symbolt::have_to_replace(), c_typecheck_baset::increment_designator(), is_complete(), c_typecheck_baset::is_complete_type(), is_incomplete(), boolbvt::is_unbounded_array(), array_string_exprt::length(), linkingt::needs_renaming_type(), smt2_convt::parse_array(), pointer_offset_bits(), goto_symext::process_array_expr(), rename_symbolt::rename(), replace_symbolt::replace(), size_of_expr(), static_lifetime_init(), goto_symext::symex_allocate(), type2name(), c_typecheck_baset::typecheck_array_type(), c_typecheck_baset::typecheck_redefinition_non_type(), cpp_typecheckt::typecheck_type(), interpretert::unbounded_size(), unpack_rec(), and cpp_typecheckt::zero_initializer().

◆ size() [2/2]

exprt& array_typet::size ( )
inline

Definition at line 1028 of file std_types.h.

References irept::add().


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