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 
10 #ifndef CPROVER_ANSI_C_STRING_CONSTANT_H
11 #define CPROVER_ANSI_C_STRING_CONSTANT_H
12 
13 #include <util/std_expr.h>
14 #include <util/expr.h>
15 
16 class string_constantt:public exprt
17 {
18 public:
20  explicit string_constantt(const irep_idt &value);
21 
22  void set_value(const irep_idt &value);
23 
24  const irep_idt &get_value() const
25  {
26  return get(ID_value);
27  }
28 
29  array_exprt to_array_expr() const;
30  bool from_array_expr(const array_exprt &);
31 };
32 
33 inline const string_constantt &to_string_constant(const exprt &expr)
34 {
35  assert(expr.id()==ID_string_constant);
36  return static_cast<const string_constantt &>(expr);
37 }
38 
40 {
41  assert(expr.id()==ID_string_constant);
42  return static_cast<string_constantt &>(expr);
43 }
44 
45 #endif // CPROVER_ANSI_C_STRING_CONSTANT_H
void set_value(const irep_idt &value)
bool from_array_expr(const array_exprt &)
convert array constant into string
const irep_idt & id() const
Definition: irep.h:189
API to expression classes.
array_exprt to_array_expr() const
convert string into array constant
const string_constantt & to_string_constant(const exprt &expr)
Base class for all expressions.
Definition: expr.h:46
const irep_idt & get_value() const
array constructor from list of elements
Definition: std_expr.h:1309