12 #ifndef CPROVER_UTIL_IREP_HASH_CONTAINER_H
13 #define CPROVER_UTIL_IREP_HASH_CONTAINER_H
45 return (std::size_t)p;
60 typedef std::unordered_map<const void *, irep_entryt, pointer_hasht>
100 template <
typename Key,
typename T>
104 using mapt = std::map<std::size_t, T>;
168 return map.emplace(i, value.second);
179 std::swap(
map, other.
map);
irep_full_hash_containert()
irep_hash_container_baset(bool _full)
std::vector< std::size_t > packedt
numberingt< packedt, vector_hasht > numbering
void pack(const irept &irep, packedt &)
std::size_t number(const irept &irep)
std::unordered_map< const void *, irep_entryt, pointer_hasht > ptr_hasht
typename mapt::iterator iterator
const_iterator find(const Key &key) const
std::pair< iterator, bool > insert(const value_type &value)
std::pair< const Key, T > value_type
T & operator[](const Key &key)
irep_hash_containert hash_container
const_iterator begin() const
std::map< std::size_t, T > mapt
iterator find(const Key &key)
const_iterator end() const
void swap(irep_hash_mapt< Key, T > &other)
typename mapt::const_iterator const_iterator
There are a large number of kinds of tree structured or tree-like data in CPROVER.
irep_entryt(std::size_t _number, const irept &_irep)
std::size_t operator()(const void *p) const
std::size_t operator()(const packedt &p) const