10#ifndef CPROVER_UTIL_FIND_SYMBOLS_H
11#define CPROVER_UTIL_FIND_SYMBOLS_H
15#include <unordered_set>
31template <
typename iteratort>
35 std::is_base_of<exprt, typename iteratort::value_type>::value,
36 "find_symbols takes exprt iterators as arguments");
54 std::set<symbol_exprt> &dest);
Base class for all expressions.
Expression to hold a symbol (variable)
The type of an expression, extends irept.
void find_symbols(const exprt &src, find_symbols_sett &dest, bool current, bool next)
Add to the set dest the sub-expressions of src with id ID_symbol if current is true,...
void find_non_pointer_type_symbols(const typet &src, find_symbols_sett &dest)
std::unordered_set< irep_idt > find_symbols_sett
void find_type_and_expr_symbols(const typet &src, find_symbols_sett &dest)
bool has_symbol(const exprt &src, const find_symbols_sett &symbols)
void find_symbols_or_nexts(const exprt &src, find_symbols_sett &dest)
Add to the set dest the sub-expressions of src with id ID_symbol or ID_next_symbol.
std::unordered_set< irep_idt > find_symbol_identifiers(const exprt &src)
Find identifiers of the sub expressions with id ID_symbol.
void find_type_symbols(const typet &src, find_symbols_sett &dest)