diff options
| author | ailurux <ailuruxx@gmail.com> | 2024-02-13 10:32:59 +1100 |
|---|---|---|
| committer | ailurux <ailuruxx@gmail.com> | 2024-02-13 10:32:59 +1100 |
| commit | 15f3da0f8ca9b85125ac557aa15c222e50fc8c8a (patch) | |
| tree | 3f24a7429ed922781c22084c1dc0aeb319d96675 /src/util/include/lru_cache.hpp | |
| parent | 26ae027d6721510e4b4a8107e95acc57efaaf2c6 (diff) | |
| parent | cb379f4bc3c51eacf80b786566ab3c2675191164 (diff) | |
| download | tangara-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.hpp | 11 |
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 |
