21 ptr_hasht::const_iterator it=
ptr_hash.find(&irep.
read());
24 return it->second.number;
31 irep_entry.number = id;
32 irep_entry.irep = irep;
40 size_t result=p.size();
55 1+1+sub.size()+named_sub.size()*2+
56 (
full?comments.size()*2:0));
60 packed.push_back(sub.size());
62 packed.push_back(
number(*it));
64 packed.push_back(named_sub.size());
68 packed.push_back(
number(it->second));
73 packed.push_back(comments.size());
77 packed.push_back(
number(it->second));
number_type number(const key_type &a)
std::vector< irept > subt
#define forall_named_irep(it, irep)
const irep_idt & id() const
dstring_hash irep_id_hash
named_subt & get_comments()
std::vector< std::size_t > packedt
Base class for tree-like data structures with sharing.
std::map< irep_namet, irept > named_subt
void pack(const irept &irep, packedt &)
named_subt & get_named_sub()
#define hash_combine(h1, h2)
std::size_t number(const irept &irep)
std::size_t operator()(const packedt &p) const
#define forall_irep(it, irep)