1#ifndef CPROVER_NUMBERING_H
2#define CPROVER_NUMBERING_H
7#include <unordered_map>
23 std::pair<typename numberst::const_iterator, bool> result =
24 numbers.insert(std::pair<T, unsigned>(a, num));
33 return (result.first)->second;
38 typename numberst::const_iterator it =
numbers.find(a);
61 assert(
vec.find(num) !=
vec.end());
63 const T &ref =
vec[num];
71 typedef std::unordered_map<unsigned, T, std::hash<unsigned>>
vectort;
77template <
typename T,
class hash_fkt>
89 std::pair<typename numberst::const_iterator, bool> result =
90 numbers.insert(std::pair<T, unsigned>(a, num));
98 return (result.first)->second;
103 typename numberst::const_iterator it =
numbers.find(a);
135 assert(
vec.find(num) !=
vec.end());
136 const T &ref =
vec[num];
142 typedef std::unordered_map<T, unsigned, hash_fkt>
numberst;
143 typedef std::unordered_map<unsigned, T, std::hash<unsigned>>
vectort;
hash_numbering()
Definition numbering.h:81
T & operator[](unsigned int i)
Definition numbering.h:128
void erase(unsigned int num)
Definition numbering.h:133
unsigned int next_obj_num
Definition numbering.h:146
vectort vec
Definition numbering.h:145
void clear()
Definition numbering.h:112
const T & operator[](unsigned int i) const
Definition numbering.h:123
std::unordered_map< expr2tc, unsigned, irep2_hash > numberst
Definition numbering.h:142
size_t size()
Definition numbering.h:118
unsigned number(const T &a)
Definition numbering.h:86
numberst numbers
Definition numbering.h:144
std::unordered_map< unsigned, expr2tc, std::hash< unsigned > > vectort
Definition numbering.h:143
bool get_number(const T &a, unsigned &n) const
Definition numbering.h:101
void clear()
Definition numbering.h:47
numberst numbers
Definition numbering.h:72
size_t size()
Definition numbering.h:53
vectort vec
Definition numbering.h:73
numbering()
Definition numbering.h:15
std::unordered_map< unsigned, T, std::hash< unsigned > > vectort
Definition numbering.h:71
std::map< T, unsigned > numberst
Definition numbering.h:70
bool get_number(const T &a, unsigned &n) const
Definition numbering.h:36
unsigned number(const T &a)
Definition numbering.h:20
unsigned int next_obj_num
Definition numbering.h:74
void erase(unsigned int num)
Definition numbering.h:58
#define T
Definition exp2f.c:24