diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2015-07-28 20:14:43 +0200 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2015-07-28 20:15:00 +0200 |
commit | eddaba7b5692288087a926da5733e86b47274e4e (patch) | |
tree | 0f43a649f8cf82ff4415f9d9a677452832cec3c4 /src/mruset.h | |
parent | 1369d699b6221818dc9ca72eb6c0cea30eeee914 (diff) |
Revert "Cache transaction validation successes"
This reverts commit 17b11428c135203342aff38cabc8047e673f38ac.
Diffstat (limited to 'src/mruset.h')
-rw-r--r-- | src/mruset.h | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/mruset.h b/src/mruset.h index 9dff5694ba..398aa173bf 100644 --- a/src/mruset.h +++ b/src/mruset.h @@ -9,10 +9,6 @@ #include <vector> #include <utility> -#include <boost/multi_index_container.hpp> -#include <boost/multi_index/ordered_index.hpp> -#include <boost/multi_index/sequenced_index.hpp> - /** STL-like set container that only keeps the most recent N elements. */ template <typename T> class mruset @@ -66,60 +62,4 @@ public: size_type max_size() const { return nMaxSize; } }; -/** STL-like map container that only keeps the most recent N elements. */ -template <typename K, typename V> -class mrumap -{ -private: - struct key_extractor { - typedef K result_type; - const result_type& operator()(const std::pair<K, V>& e) const { return e.first; } - result_type& operator()(std::pair<K, V>* e) const { return e->first; } - }; - - typedef boost::multi_index_container< - std::pair<K, V>, - boost::multi_index::indexed_by< - boost::multi_index::sequenced<>, - boost::multi_index::ordered_unique<key_extractor> - > - > map_type; - -public: - typedef K key_type; - typedef std::pair<K, V> value_type; - typedef typename map_type::iterator iterator; - typedef typename map_type::const_iterator const_iterator; - typedef typename map_type::size_type size_type; - -protected: - map_type m_; - size_type max_size_; - -public: - mrumap(size_type max_size_in = 1) { clear(max_size_in); } - iterator begin() { return m_.begin(); } - iterator end() { return m_.end(); } - const_iterator begin() const { return m_.begin(); } - const_iterator end() const { return m_.end(); } - size_type size() const { return m_.size(); } - bool empty() const { return m_.empty(); } - iterator find(const key_type& key) { return m_.template project<0>(boost::get<1>(m_).find(key)); } - const_iterator find(const key_type& key) const { return m_.template project<0>(boost::get<1>(m_).find(key)); } - size_type count(const key_type& key) const { return boost::get<1>(m_).count(key); } - void clear(size_type max_size_in) { m_.clear(); max_size_ = max_size_in; } - std::pair<iterator, bool> insert(const K& key, const V& value) - { - std::pair<K, V> elem(key, value); - std::pair<iterator, bool> p = m_.push_front(elem); - if (p.second && m_.size() > max_size_) { - m_.pop_back(); - } - return p; - } - void erase(iterator it) { m_.erase(it); } - void erase(const key_type& k) { boost::get<1>(m_).erase(k); } - size_type max_size() const { return max_size_; } -}; - #endif // BITCOIN_MRUSET_H |