summaryrefslogtreecommitdiff
path: root/src/util/include/lru_cache.hpp
diff options
context:
space:
mode:
authorailurux <ailuruxx@gmail.com>2024-02-13 10:32:59 +1100
committerailurux <ailuruxx@gmail.com>2024-02-13 10:32:59 +1100
commit15f3da0f8ca9b85125ac557aa15c222e50fc8c8a (patch)
tree3f24a7429ed922781c22084c1dc0aeb319d96675 /src/util/include/lru_cache.hpp
parent26ae027d6721510e4b4a8107e95acc57efaaf2c6 (diff)
parentcb379f4bc3c51eacf80b786566ab3c2675191164 (diff)
downloadtangara-fw-15f3da0f8ca9b85125ac557aa15c222e50fc8c8a.tar.gz
Merge branch 'main' into scroll-sensitivity
Diffstat (limited to 'src/util/include/lru_cache.hpp')
-rw-r--r--src/util/include/lru_cache.hpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/util/include/lru_cache.hpp b/src/util/include/lru_cache.hpp
index 41293901..606a6387 100644
--- a/src/util/include/lru_cache.hpp
+++ b/src/util/include/lru_cache.hpp
@@ -10,9 +10,11 @@
#include <bitset>
#include <cstdint>
#include <list>
+#include <map>
#include <optional>
#include <unordered_map>
#include <utility>
+
#include "memory_resource.hpp"
namespace util {
@@ -64,9 +66,16 @@ class LruCache {
key_to_it_.clear();
}
+ auto Get() const -> std::vector<std::pair<K, V>> {
+ std::vector<std::pair<K, V>> out;
+ out.resize(entries_.size());
+ std::copy(entries_.begin(), entries_.end(), out.begin());
+ return out;
+ }
+
private:
std::pmr::list<std::pair<K, V>> entries_;
- std::pmr::unordered_map<K, decltype(entries_.begin())> key_to_it_;
+ std::pmr::map<K, decltype(entries_.begin())> key_to_it_;
};
} // namespace util