CBMC
smt_termt Class Reference

#include <smt_terms.h>

+ Inheritance diagram for smt_termt:
+ Collaboration diagram for smt_termt:

Classes

class  storert
 Class for adding the ability to up and down cast smt_termt to and from irept. More...
 

Public Member Functions

 smt_termt ()=delete
 
bool operator== (const smt_termt &) const
 
bool operator!= (const smt_termt &) const
 
const smt_sorttget_sort () const
 
void accept (smt_term_const_downcast_visitort &) const
 
void accept (smt_term_const_downcast_visitort &&) const
 
std::string pretty (unsigned indent=0, unsigned max_indent=0) const
 

Protected Member Functions

 smt_termt (irep_idt id, smt_sortt sort)
 
- Protected Member Functions inherited from irept
bool is_nil () const
 
bool is_not_nil () const
 
 irept (const irep_idt &_id)
 
 irept (const irep_idt &_id, const named_subt &_named_sub, const subt &_sub)
 
 irept ()=default
 
const irep_idtid () const
 
const std::string & id_string () const
 
void id (const irep_idt &_data)
 
const ireptfind (const irep_idt &name) const
 
ireptadd (const irep_idt &name)
 
ireptadd (const irep_idt &name, irept irep)
 
const std::string & get_string (const irep_idt &name) const
 
const irep_idtget (const irep_idt &name) const
 
bool get_bool (const irep_idt &name) const
 
signed int get_int (const irep_idt &name) const
 
std::size_t get_size_t (const irep_idt &name) const
 
long long get_long_long (const irep_idt &name) const
 
void set (const irep_idt &name, const irep_idt &value)
 
void set (const irep_idt &name, irept irep)
 
void set (const irep_idt &name, const long long value)
 
void set_size_t (const irep_idt &name, const std::size_t value)
 
void remove (const irep_idt &name)
 
void move_to_sub (irept &irep)
 
void move_to_named_sub (const irep_idt &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 comments are ignored More...
 
void clear ()
 
void make_nil ()
 
subtget_sub ()
 
const subtget_sub () const
 
named_subtget_named_sub ()
 
const named_subtget_named_sub () 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
 
- Protected Member Functions inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
void detach ()
 
 sharing_treet (irep_idt _id)
 
 sharing_treet (irep_idt _id, named_subt _named_sub, subt _sub)
 
 sharing_treet ()
 
 sharing_treet (const sharing_treet &irep)
 
 sharing_treet (sharing_treet &&irep)
 
sharing_treetoperator= (const sharing_treet &irep)
 
sharing_treetoperator= (sharing_treet &&irep)
 
 ~sharing_treet ()
 
const dtread () const
 
dtwrite ()
 

Additional Inherited Members

- Protected Types inherited from irept
using baset = tree_implementationt
 
- Protected Types inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
using dt = tree_nodet< irept, forward_list_as_mapt< irep_idt, irept >, true >
 
using subt = typename dt::subt
 
using named_subt = typename dt::named_subt
 
using tree_implementationt = sharing_treet
 Used to refer to this class from derived classes. More...
 
- Static Protected 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 More...
 
- 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. More...
 
- Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
dtdata
 
- Static Protected Attributes inherited from sharing_treet< irept, forward_list_as_mapt< irep_idt, irept > >
static dt empty_d
 
- Private Member Functions inherited from smt_sortt::storert< smt_termt >
 storert ()
 
- Static Private Member Functions inherited from smt_sortt::storert< smt_termt >
static irept upcast (smt_sortt sort)
 
static const smt_sorttdowncast (const irept &)
 

Detailed Description

Definition at line 20 of file smt_terms.h.

Constructor & Destructor Documentation

◆ smt_termt() [1/2]

smt_termt::smt_termt ( )
delete

◆ smt_termt() [2/2]

smt_termt::smt_termt ( irep_idt  id,
smt_sortt  sort 
)
protected

Definition at line 21 of file smt_terms.cpp.

Member Function Documentation

◆ accept() [1/2]

void smt_termt::accept ( smt_term_const_downcast_visitort &&  visitor) const

Definition at line 241 of file smt_terms.cpp.

◆ accept() [2/2]

void smt_termt::accept ( smt_term_const_downcast_visitort visitor) const

Definition at line 236 of file smt_terms.cpp.

◆ get_sort()

const smt_sortt & smt_termt::get_sort ( ) const

Definition at line 36 of file smt_terms.cpp.

◆ operator!=()

bool smt_termt::operator!= ( const smt_termt other) const

Definition at line 31 of file smt_terms.cpp.

◆ operator==()

bool smt_termt::operator== ( const smt_termt other) const

Definition at line 26 of file smt_terms.cpp.

◆ pretty()

std::string irept::pretty

Definition at line 458 of file irep.cpp.


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