6#ifndef ATLASGAMEMANAGER_IMAGECACHE_HPP
7#define ATLASGAMEMANAGER_IMAGECACHE_HPP
17 using Clock = std::chrono::steady_clock;
23 std::chrono::time_point< std::chrono::steady_clock >
last_accessed { Clock::now() };
30 std::uint64_t
size()
const;
32 std::uint64_t
score(
const std::chrono::time_point< std::chrono::steady_clock >& current_time )
const;
37 std::recursive_mutex
mtx {};
38 std::multimap< std::string, PixmapItem >
cache {};
48 void insert(
const std::string& key,
const QPixmap& pixmap );
50 std::optional< QPixmap >
find( std::string key );
Definition ImageCache.hpp:20
std::recursive_mutex mtx
Definition ImageCache.hpp:37
void prune()
Prunes the cache. Removing the lowest scores first. Determined via ImageCache::score()
Definition ImageCache.cpp:51
std::optional< QPixmap > find(std::string key)
Definition ImageCache.cpp:118
std::uint64_t current_size
Definition ImageCache.hpp:40
std::uint64_t max_size
Definition ImageCache.hpp:39
void insert(const std::string &key, const QPixmap &pixmap)
Inserts a pixmap into the cache.
Definition ImageCache.cpp:97
std::multimap< std::string, PixmapItem > cache
Definition ImageCache.hpp:38
Definition ImageCache.cpp:11
std::chrono::steady_clock Clock
Definition ImageCache.hpp:17
void operator()()
Definition ImageCache.hpp:28
std::chrono::time_point< std::chrono::steady_clock > last_accessed
Definition ImageCache.hpp:23
QPixmap pixmap
Definition ImageCache.hpp:24
std::uint64_t size() const
Definition ImageCache.cpp:13
PixmapItem(QPixmap map)
Definition ImageCache.hpp:26
std::uint64_t score(const std::chrono::time_point< std::chrono::steady_clock > ¤t_time) const
Definition ImageCache.cpp:25
bool operator<(const PixmapItem &other) const
Definition ImageCache.hpp:34