cprover
string_constant.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module:
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
9 #ifndef CPROVER_UTIL_STRING_CONSTANT_H
10 #define CPROVER_UTIL_STRING_CONSTANT_H
11 
12 #include "std_expr.h"
13 #include "expr.h"
14 
16 {
17 public:
18  DEPRECATED("use string_constantt(value) instead")
20 
21  explicit string_constantt(const irep_idt &value);
22 
23  void set_value(const irep_idt &value);
24 
25  const irep_idt &get_value() const
26  {
27  return get(ID_value);
28  }
29 
30  array_exprt to_array_expr() const;
31  bool from_array_expr(const array_exprt &);
32 };
33 
34 inline const string_constantt &to_string_constant(const exprt &expr)
35 {
36  PRECONDITION(expr.id() == ID_string_constant);
37  return static_cast<const string_constantt &>(expr);
38 }
39 
41 {
42  PRECONDITION(expr.id() == ID_string_constant);
43  return static_cast<string_constantt &>(expr);
44 }
45 
46 #endif // CPROVER_ANSI_C_STRING_CONSTANT_H
dstringt
dstringt has one field, an unsigned integer no which is an index into a static table of strings.
Definition: dstring.h:35
PRECONDITION
#define PRECONDITION(CONDITION)
Definition: invariant.h:438
to_string_constant
const string_constantt & to_string_constant(const exprt &expr)
Definition: string_constant.h:34
exprt
Base class for all expressions.
Definition: expr.h:54
string_constantt
Definition: string_constant.h:15
string_constantt::string_constantt
string_constantt()
Definition: string_constant.cpp:15
string_constantt::from_array_expr
bool from_array_expr(const array_exprt &)
expr.h
nullary_exprt
An expression without operands.
Definition: std_expr.h:23
irept::id
const irep_idt & id() const
Definition: irep.h:259
string_constantt::to_array_expr
array_exprt to_array_expr() const
convert string into array constant
Definition: string_constant.cpp:34
DEPRECATED
#define DEPRECATED(msg)
Definition: deprecate.h:23
irept::get
const irep_idt & get(const irep_namet &name) const
Definition: irep.cpp:212
std_expr.h
array_exprt
Array constructor from list of elements.
Definition: std_expr.h:1739
string_constantt::get_value
const irep_idt & get_value() const
Definition: string_constant.h:25
string_constantt::set_value
void set_value(const irep_idt &value)
Definition: string_constant.cpp:26