14 #ifndef CPROVER_GOTO_CC_XML_BINARIES_XML_IREP_HASHING_H 15 #define CPROVER_GOTO_CC_XML_BINARIES_XML_IREP_HASHING_H 35 bool operator()(
const unsigned long l,
const unsigned long r)
const 62 typedef std::unordered_map<unsigned long, irept, ul_hash, ul_eq>
66 typedef std::unordered_map<
irept,
unsigned long,
87 unsigned long insert(
const std::string&,
const irept&);
95 void output_map(std::ostream &out,
unsigned indent);
105 ireps_containert::id_containert::const_iterator
107 ireps_containert::content_containert::const_iterator
116 #endif // CPROVER_GOTO_CC_XML_BINARIES_XML_IREP_HASHING_H
unsigned long string_to_long(const std::string &)
converts the string to an unsigned long that used to give a pointer to an irep in an old compilation ...
ireps_containert::content_containert::const_iterator find_irep_by_content(const irept &irep)
finds an irep in the ireps hash set by checking contents
std::unordered_map< irept, unsigned long, irep_full_hash, irep_content_eq > content_containert
bool full_eq(const irept &other) const
void convert_map(xmlt &xml)
converts the current hash map of ireps into the given xml structure
unsigned short operator()(const unsigned long l) const
ireps_containert::id_containert::const_iterator find_irep_by_id(const unsigned int)
finds an irep in the ireps hash set by its id
void reference_convert(const irept &irep, xmlt &xml)
xmlt xml(const source_locationt &location)
ireps_containert & ireps_container
bool operator()(const unsigned long l, const unsigned long r) const
void resolve_references(const irept &cur)
resolves references to ireps from an irep after reading an irep hash map into memory.
void convert(const irept &irep, xmlt &xml)
bool operator()(const irept &l, const irept &r) const
id_containert id_container
content_containert content_container
id_replace_mapt id_replace_map
Base class for tree-like data structures with sharing.
size_t operator()(const irept &i) const
std::unordered_map< unsigned long, irept, ul_hash, ul_eq > id_containert
unsigned long insert(unsigned long, const irept &)
inserts an irep into the hashtable
xml_irep_convertt(ireps_containert &ic)
std::size_t full_hash() const
unsigned long add_with_childs(const irept &)
std::string long_to_string(const unsigned long)
converts the hash value to a readable string
std::map< unsigned, unsigned > id_replace_mapt
void output_map(std::ostream &out, unsigned indent)
converts the current hash map of ireps into xml nodes and outputs them to the stream ...