HighMap library (C++)
Loading...
Searching...
No Matches
hmap::LruTileStorage Class Reference

#include <tile_storage.hpp>

Inheritance diagram for hmap::LruTileStorage:
Collaboration diagram for hmap::LruTileStorage:

Public Member Functions

 LruTileStorage (size_t max_tiles)
 
std::unique_ptr< TileStorageclone () const override
 
Arrayget_tile (const TileRegion &region) override
 
void release_tile (const TileRegion &region) override
 
size_t max_live_tiles () const override
 
std::string info_string () const override
 
- Public Member Functions inherited from hmap::TileStorage
virtual ~TileStorage ()=default
 
virtual void trim ()
 

Protected Member Functions

Arrayget_tile_no_mutex_lock (const TileRegion &region)
 
virtual void on_evict (const TileKey &key, Array &tile)
 

Protected Attributes

size_t max_tiles
 
std::list< TileKeylru
 
std::unordered_map< TileKey, LruTileEntry, TileKeyHashtiles
 
std::mutex mutex
 

Constructor & Destructor Documentation

◆ LruTileStorage()

hmap::LruTileStorage::LruTileStorage ( size_t  max_tiles)
explicit

Member Function Documentation

◆ clone()

std::unique_ptr< TileStorage > hmap::LruTileStorage::clone ( ) const
overridevirtual

Implements hmap::TileStorage.

◆ get_tile()

Array & hmap::LruTileStorage::get_tile ( const TileRegion region)
overridevirtual

Implements hmap::TileStorage.

◆ release_tile()

void hmap::LruTileStorage::release_tile ( const TileRegion region)
overridevirtual

Implements hmap::TileStorage.

◆ max_live_tiles()

size_t hmap::LruTileStorage::max_live_tiles ( ) const
overridevirtual

Implements hmap::TileStorage.

◆ info_string()

std::string hmap::LruTileStorage::info_string ( ) const
overridevirtual

Implements hmap::TileStorage.

◆ get_tile_no_mutex_lock()

Array & hmap::LruTileStorage::get_tile_no_mutex_lock ( const TileRegion region)
protected

◆ on_evict()

void hmap::LruTileStorage::on_evict ( const TileKey key,
Array tile 
)
protectedvirtual

Reimplemented in hmap::DiskLruTileStorage.

Member Data Documentation

◆ max_tiles

size_t hmap::LruTileStorage::max_tiles
protected

◆ lru

std::list<TileKey> hmap::LruTileStorage::lru
protected

◆ tiles

std::unordered_map<TileKey, LruTileEntry, TileKeyHash> hmap::LruTileStorage::tiles
protected

◆ mutex

std::mutex hmap::LruTileStorage::mutex
protected

The documentation for this class was generated from the following files: