ESBMC
Efficient SMT-based Context-Bounded Model Checker
Loading...
Searching...
No Matches
irep2_content_hash.h
Go to the documentation of this file.
1#pragma once
2
3#include <cstdint>
4#include <functional>
5#include <string>
6#include <irep2/irep2.h>
7#include <irep2/irep2_expr.h>
8
11using irep2_name_mappert = std::function<std::string(const irep_idt &)>;
12
17using irep2_symbol_mappert = std::function<std::string(const symbol2t &)>;
18
29 const expr2tc &e,
31 const irep2_symbol_mappert &rename_symbol,
32 uint64_t &lo,
33 uint64_t &hi);
Definition irep_idt.h:12
Symbol type.
Definition irep2_expr.h:625
Classes and definitions for non-stringy internal representation.
irep_container< expr2t > expr2tc
Definition irep2.h:431
void irep2_content_hash(const expr2tc &e, const irep2_name_mappert &rename, const irep2_symbol_mappert &rename_symbol, uint64_t &lo, uint64_t &hi)
Structural hash of e that depends only on its content.
Definition irep2_content_hash.cpp:155
std::function< std::string(const symbol2t &)> irep2_symbol_mappert
Maps a symbol to the token hashed in its place.
Definition irep2_content_hash.h:17
std::function< std::string(const irep_idt &)> irep2_name_mappert
Maps a name to the form that should be hashed, letting a caller normalise SSA names without rewriting...
Definition irep2_content_hash.h:11
int rename(const char *oldpath, const char *newpath)