#ifdef EXT_HASH_MAP
#include <ext/hash_set>
#include <ext/hash_map>
+#elif defined(TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#include <tr1/unordered_set>
+#define hash_map tr1::unordered_map
+#define hash_set tr1::unordered_set
+#define hash_multiset tr1::unordered_multiset
#else
#include <hash_set>
#include <hash_map>
#include <string>
#include <map>
#include <set>
+#include <algorithm>
#include "ASTUtil.h"
#include "ASTKind.h"
#include "../sat/core/Solver.h"
class ASTSymbolHasher{
public:
size_t operator() (const ASTSymbol *sym_ptr) const{
+#ifdef TR1_UNORDERED_MAP
+ tr1::hash<string> h;
+#else
hash<char*> h;
+#endif
return h(sym_ptr->_name);
};
};
#ifdef EXT_HASH_MAP
#include <ext/hash_set>
#include <ext/hash_map>
+#elif defined(TR1_UNORDERED_MAP)
+#include <tr1/unordered_map>
+#include <tr1/unordered_set>
#else
#include <hash_set>
#include <hash_map>
};
// Table for storing function count stats.
+#ifdef TR1_UNORDERED_MAP
+ typedef tr1::unordered_map<const char*,int,
+ tr1::hash<const char *>,eqstr> function_counters;
+#else
typedef hash_map<const char*,int,
hash<char *>,eqstr> function_counters;
+#endif
void CountersAndStats(const char * functionname);