cprover
memory_model_baset Class Referenceabstract

#include <memory_model.h>

+ Inheritance diagram for memory_model_baset:
+ Collaboration diagram for memory_model_baset:

Public Member Functions

 memory_model_baset (const namespacet &_ns)
 
virtual ~memory_model_baset ()
 
virtual void operator() (symex_target_equationt &)=0
 
- Public Member Functions inherited from partial_order_concurrencyt
 partial_order_concurrencyt (const namespacet &_ns)
 
virtual ~partial_order_concurrencyt ()
 
- Public Member Functions inherited from messaget
virtual void set_message_handler (message_handlert &_message_handler)
 
message_handlertget_message_handler ()
 
 messaget ()
 
 messaget (const messaget &other)
 
messagetoperator= (const messaget &other)
 
 messaget (message_handlert &_message_handler)
 
virtual ~messaget ()
 
mstreamtget_mstream (unsigned message_level) const
 
mstreamterror () const
 
mstreamtwarning () const
 
mstreamtresult () const
 
mstreamtstatus () const
 
mstreamtstatistics () const
 
mstreamtprogress () const
 
mstreamtdebug () const
 
void conditional_output (mstreamt &mstream, const std::function< void(mstreamt &)> &output_generator) const
 Generate output to message_stream using output_generator if the configured verbosity is at least as high as that of message_stream. More...
 

Protected Types

typedef std::map< std::pair< event_it, event_it >, symbol_exprtchoice_symbolst
 
typedef std::map< unsigned, event_listtper_thread_mapt
 
- Protected Types inherited from partial_order_concurrencyt
typedef std::vector< event_itevent_listt
 
typedef std::map< irep_idt, a_rectaddress_mapt
 
typedef std::map< event_it, unsigned > numberingt
 

Protected Member Functions

bool po (event_it e1, event_it e2)
 
symbol_exprt nondet_bool_symbol (const std::string &prefix)
 
void read_from (symex_target_equationt &equation)
 
- Protected Member Functions inherited from partial_order_concurrencyt
void build_event_lists (symex_target_equationt &)
 
void add_init_writes (symex_target_equationt &)
 
irep_idt address (event_it event) const
 
symbol_exprt clock (event_it e, axiomt axiom)
 
void build_clock_type ()
 
void add_constraint (symex_target_equationt &equation, const exprt &cond, const std::string &msg, const symex_targett::sourcet &source) const
 
exprt before (event_it e1, event_it e2, unsigned axioms)
 
virtual exprt before (event_it e1, event_it e2)=0
 

Protected Attributes

unsigned var_cnt
 
choice_symbolst choice_symbols
 
- Protected Attributes inherited from partial_order_concurrencyt
const namespacetns
 
address_mapt address_map
 
numberingt numbering
 
typet clock_type
 
- Protected Attributes inherited from messaget
message_handlertmessage_handler
 
mstreamt mstream
 

Additional Inherited Members

- Public Types inherited from partial_order_concurrencyt
enum  axiomt { AX_SC_PER_LOCATION =1, AX_NO_THINAIR =2, AX_OBSERVATION =4, AX_PROPAGATION =8 }
 
typedef symex_target_equationt::SSA_stept eventt
 
typedef symex_target_equationt::SSA_stepst eventst
 
typedef eventst::const_iterator event_it
 
- Public Types inherited from messaget
enum  message_levelt {
  M_ERROR =1, M_WARNING =2, M_RESULT =4, M_STATUS =6,
  M_STATISTICS =8, M_PROGRESS =9, M_DEBUG =10
}
 
- Static Public Member Functions inherited from partial_order_concurrencyt
static irep_idt rw_clock_id (event_it e, axiomt axiom=AX_PROPAGATION)
 
- Static Public Member Functions inherited from messaget
static unsigned eval_verbosity (const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
 Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest. More...
 
static commandt command (unsigned c)
 Create an ECMA-48 SGR (Select Graphic Rendition) command. More...
 
- Static Public Attributes inherited from messaget
static eomt eom
 
static const commandt reset
 return to default formatting, as defined by the terminal More...
 
static const commandt red
 render text with red foreground color More...
 
static const commandt green
 render text with green foreground color More...
 
static const commandt yellow
 render text with yellow foreground color More...
 
static const commandt blue
 render text with blue foreground color More...
 
static const commandt magenta
 render text with magenta foreground color More...
 
static const commandt cyan
 render text with cyan foreground color More...
 
static const commandt bright_red
 render text with bright red foreground color More...
 
static const commandt bright_green
 render text with bright green foreground color More...
 
static const commandt bright_yellow
 render text with bright yellow foreground color More...
 
static const commandt bright_blue
 render text with bright blue foreground color More...
 
static const commandt bright_magenta
 render text with bright magenta foreground color More...
 
static const commandt bright_cyan
 render text with bright cyan foreground color More...
 
static const commandt bold
 render text with bold font More...
 
static const commandt faint
 render text with faint font More...
 
static const commandt italic
 render italic text More...
 
static const commandt underline
 render underlined text More...
 
- Static Protected Member Functions inherited from partial_order_concurrencyt
static irep_idt id (event_it event)
 

Detailed Description

Definition at line 17 of file memory_model.h.

Member Typedef Documentation

◆ choice_symbolst

typedef std::map< std::pair<event_it, event_it>, symbol_exprt> memory_model_baset::choice_symbolst
protected

Definition at line 36 of file memory_model.h.

◆ per_thread_mapt

typedef std::map<unsigned, event_listt> memory_model_baset::per_thread_mapt
protected

Definition at line 42 of file memory_model.h.

Constructor & Destructor Documentation

◆ memory_model_baset()

memory_model_baset::memory_model_baset ( const namespacet _ns)
explicit

Definition at line 16 of file memory_model.cpp.

◆ ~memory_model_baset()

memory_model_baset::~memory_model_baset ( )
virtual

Definition at line 22 of file memory_model.cpp.

Member Function Documentation

◆ nondet_bool_symbol()

symbol_exprt memory_model_baset::nondet_bool_symbol ( const std::string &  prefix)
protected

Definition at line 26 of file memory_model.cpp.

◆ operator()()

virtual void memory_model_baset::operator() ( symex_target_equationt )
pure virtual

◆ po()

bool memory_model_baset::po ( event_it  e1,
event_it  e2 
)
protected

Definition at line 34 of file memory_model.cpp.

◆ read_from()

void memory_model_baset::read_from ( symex_target_equationt equation)
protected

Definition at line 46 of file memory_model.cpp.

Member Data Documentation

◆ choice_symbols

choice_symbolst memory_model_baset::choice_symbols
protected

Definition at line 37 of file memory_model.h.

◆ var_cnt

unsigned memory_model_baset::var_cnt
protected

Definition at line 30 of file memory_model.h.


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