aboutsummaryrefslogtreecommitdiff
path: root/src/coins.h
diff options
context:
space:
mode:
authorPieter Wuille <pieter.wuille@gmail.com>2014-07-09 17:25:09 +0200
committerPieter Wuille <pieter.wuille@gmail.com>2014-07-14 16:13:08 +0200
commitbc42503f6ab304608c321986a870795e45f5a016 (patch)
treecbb104bd5010fd817a460c89b10470e8b60f9ea7 /src/coins.h
parentbdd5b587fc7fd1b4dda479c4aad15c874b22e8f3 (diff)
downloadbitcoin-bc42503f6ab304608c321986a870795e45f5a016.tar.xz
Use unordered_map for CCoinsViewCache with salted hash
Diffstat (limited to 'src/coins.h')
-rw-r--r--src/coins.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/coins.h b/src/coins.h
index c57a5ec722..9f90fe6bd0 100644
--- a/src/coins.h
+++ b/src/coins.h
@@ -13,6 +13,7 @@
#include <stdint.h>
#include <boost/foreach.hpp>
+#include <boost/unordered_map.hpp>
/** pruned version of CTransaction: only retains metadata and unspent transaction outputs
*
@@ -239,7 +240,19 @@ public:
}
};
-typedef std::map<uint256,CCoins> CCoinsMap;
+class CCoinsKeyHasher
+{
+private:
+ uint256 salt;
+
+public:
+ CCoinsKeyHasher();
+ uint64_t operator()(const uint256& key) const {
+ return key.GetHash(salt);
+ }
+};
+
+typedef boost::unordered_map<uint256, CCoins, CCoinsKeyHasher> CCoinsMap;
struct CCoinsStats
{