cprover
expr_initializer.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Expression Initialization
4 
5 Author: Daniel Kroening, kroening@kroening.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_UTIL_EXPR_INITIALIZER_H
13 #define CPROVER_UTIL_EXPR_INITIALIZER_H
14 
15 #include "optional.h"
16 
17 class exprt;
18 class namespacet;
19 class source_locationt;
20 class typet;
21 
23 zero_initializer(const typet &, const source_locationt &, const namespacet &);
24 
26  const typet &type,
28  const namespacet &ns);
29 
30 #endif // CPROVER_UTIL_EXPR_INITIALIZER_H
Base class for all expressions.
Definition: expr.h:54
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
Definition: namespace.h:91
The type of an expression, extends irept.
Definition: type.h:28
const source_locationt & source_location() const
Definition: type.h:71
optionalt< exprt > zero_initializer(const typet &, const source_locationt &, const namespacet &)
Create the equivalent of zero for type type.
optionalt< exprt > nondet_initializer(const typet &type, const source_locationt &source_location, const namespacet &ns)
Create a non-deterministic value for type type, with all subtypes independently expanded as non-deter...
nonstd::optional< T > optionalt
Definition: optional.h:35