cprover
value_set_domain_fivr.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Value Set (Flow Insensitive, Sharing, Validity Regions)
4 
5 Author: Daniel Kroening, kroening@kroening.com
6  CM Wintersteiger
7 
8 \*******************************************************************/
9 
12 
13 #ifndef CPROVER_POINTER_ANALYSIS_VALUE_SET_DOMAIN_FIVR_H
14 #define CPROVER_POINTER_ANALYSIS_VALUE_SET_DOMAIN_FIVR_H
15 
17 
18 #include "value_set_fivr.h"
19 
21 {
22 public:
24 
25  // overloading
26 
27  virtual void output(
28  const namespacet &ns,
29  std::ostream &out) const
30  {
31  value_set.output(ns, out);
32  }
33 
34  virtual void initialize(
35  const namespacet &)
36  {
37  value_set.clear();
38  }
39 
40  virtual bool transform(
41  const namespacet &ns,
42  locationt from_l,
43  locationt to_l);
44 
45  virtual void get_reference_set(
46  const namespacet &ns,
47  const exprt &expr,
48  expr_sett &expr_set)
49  {
50  value_set.get_reference_set(expr, expr_set, ns);
51  }
52 
53  virtual void clear(void)
54  {
55  value_set.clear();
56  }
57 };
58 
59 #endif // CPROVER_POINTER_ANALYSIS_VALUE_SET_DOMAIN_FIVR_H
void get_reference_set(const exprt &expr, expr_sett &expr_set, const namespacet &ns) const
virtual bool transform(const namespacet &ns, locationt from_l, locationt to_l)
virtual void initialize(const namespacet &)
std::unordered_set< exprt, irep_hash > expr_sett
void output(const namespacet &ns, std::ostream &out) const
virtual void get_reference_set(const namespacet &ns, const exprt &expr, expr_sett &expr_set)
TO_BE_DOCUMENTED.
Definition: namespace.h:74
Flow Insensitive Static Analysis.
Base class for all expressions.
Definition: expr.h:42
Value Set (Flow Insensitive, Sharing, Validity Regions)
virtual void output(const namespacet &ns, std::ostream &out) const