From f83c21fd4eedd9c2fb0ff9138e2960469d1034c9 Mon Sep 17 00:00:00 2001 From: smccam Date: Fri, 31 Oct 2008 23:26:17 +0000 Subject: [PATCH] Add -DTR1_UNORDERED_MAP, analogous to -DEXT_HASH_MAP, to allow use of another, newer, quasi-standard STL hash table class. git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@38 e59a4935-1847-0410-ae03-e826735625c1 --- AST/AST.h | 11 +++++++++++ AST/ASTUtil.h | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/AST/AST.h b/AST/AST.h index 58b6d7a..fb6f649 100644 --- a/AST/AST.h +++ b/AST/AST.h @@ -15,6 +15,12 @@ #ifdef EXT_HASH_MAP #include #include +#elif defined(TR1_UNORDERED_MAP) +#include +#include +#define hash_map tr1::unordered_map +#define hash_set tr1::unordered_set +#define hash_multiset tr1::unordered_multiset #else #include #include @@ -24,6 +30,7 @@ #include #include #include +#include #include "ASTUtil.h" #include "ASTKind.h" #include "../sat/core/Solver.h" @@ -543,7 +550,11 @@ namespace BEEV { class ASTSymbolHasher{ public: size_t operator() (const ASTSymbol *sym_ptr) const{ +#ifdef TR1_UNORDERED_MAP + tr1::hash h; +#else hash h; +#endif return h(sym_ptr->_name); }; }; diff --git a/AST/ASTUtil.h b/AST/ASTUtil.h index bd49c84..9ae4255 100644 --- a/AST/ASTUtil.h +++ b/AST/ASTUtil.h @@ -15,6 +15,9 @@ #ifdef EXT_HASH_MAP #include #include +#elif defined(TR1_UNORDERED_MAP) +#include +#include #else #include #include @@ -97,8 +100,13 @@ namespace BEEV { }; // Table for storing function count stats. +#ifdef TR1_UNORDERED_MAP + typedef tr1::unordered_map,eqstr> function_counters; +#else typedef hash_map,eqstr> function_counters; +#endif void CountersAndStats(const char * functionname); -- 2.47.3