cprover
function_modifies.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Modifies
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
13 #define CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
14 
16 
17 #include <map>
18 
19 class goto_functionst;
20 class local_may_aliast;
21 
23 {
24 public:
25  explicit function_modifiest(const goto_functionst &_goto_functions):
26  goto_functions(_goto_functions)
27  {
28  }
29 
30  typedef std::set<exprt> modifiest;
31 
32  void get_modifies(
33  const local_may_aliast &local_may_alias,
35  modifiest &);
36 
38  const exprt &,
39  modifiest &);
40 
41  void operator()(const exprt &function, modifiest &modifies)
42  {
43  get_modifies_function(function, modifies);
44  }
45 
46 protected:
48 
49  typedef std::map<irep_idt, modifiest> function_mapt;
51 };
52 
53 #endif // CPROVER_GOTO_INSTRUMENT_FUNCTION_MODIFIES_H
Base class for all expressions.
Definition: expr.h:54
const goto_functionst & goto_functions
function_mapt function_map
std::set< exprt > modifiest
void get_modifies_function(const exprt &, modifiest &)
std::map< irep_idt, modifiest > function_mapt
void operator()(const exprt &function, modifiest &modifies)
function_modifiest(const goto_functionst &_goto_functions)
void get_modifies(const local_may_aliast &local_may_alias, const goto_programt::const_targett, modifiest &)
A collection of goto functions.
instructionst::const_iterator const_targett
Definition: goto_program.h:647
Concrete Goto Program.