CBMC
expr_skeleton.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Symbolic Execution
4 
5 Author: Romain Brenguier, romain.brenguier@diffblue.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
13 #define CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
14 
15 #include <util/expr.h>
16 
25 class expr_skeletont final
26 {
27 public:
31 
35 
38  exprt apply(exprt expr) const;
39 
45 
46 private:
52 
53  explicit expr_skeletont(exprt e) : skeleton(std::move(e))
54  {
55  }
56 };
57 
58 #endif // CPROVER_GOTO_SYMEX_EXPR_SKELETON_H
Expression in which some part is missing and can be substituted for another expression.
Definition: expr_skeleton.h:26
exprt apply(exprt expr) const
Replace the missing part by the given expression, to end-up with a complete expression.
expr_skeletont(exprt e)
Definition: expr_skeleton.h:53
expr_skeletont()
Empty skeleton.
expr_skeletont compose(expr_skeletont other) const
Replace the missing part of the current skeleton by another skeleton, ending in a bigger skeleton cor...
static expr_skeletont remove_op0(exprt e)
Create a skeleton by removing the first operand of e.
exprt skeleton
In skeleton, nil_exprt is used to mark the sub expression to be substituted.
Definition: expr_skeleton.h:51
Base class for all expressions.
Definition: expr.h:56