klee
ExprUtil.h
Go to the documentation of this file.
1//===-- ExprUtil.h ----------------------------------------------*- C++ -*-===//
2//
3// The KLEE Symbolic Virtual Machine
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef KLEE_EXPRUTIL_H
11#define KLEE_EXPRUTIL_H
12
14
15#include <vector>
16
17namespace klee {
18 class Array;
19 class Expr;
20 class ReadExpr;
21 template<typename T> class ref;
22
27 void findReads(ref<Expr> e,
28 bool visitUpdates,
29 std::vector< ref<ReadExpr> > &result);
30
33 void findSymbolicObjects(ref<Expr> e,
34 std::vector<const Array*> &results);
35
38 template<typename InputIterator>
39 void findSymbolicObjects(InputIterator begin,
40 InputIterator end,
41 std::vector<const Array*> &results);
42
44 protected:
46
47 public:
48 std::set<const Array *> results;
49 };
50}
51
52#endif /* KLEE_EXPRUTIL_H */
#define Expr
Definition: STPBuilder.h:19
ExprVisitor::Action visitRead(const ReadExpr &re)
Definition: ExprUtil.cpp:106
std::set< const Array * > results
Definition: ExprUtil.h:48
Class representing a one byte read from an array.
Definition: Expr.h:565
Definition: main.cpp:291
void findSymbolicObjects(ref< Expr > e, std::vector< const Array * > &results)
Definition: ExprUtil.cpp:132
void findReads(ref< Expr > e, bool visitUpdates, std::vector< ref< ReadExpr > > &result)
Definition: ExprUtil.cpp:19