|
MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
|
Manages caching of region data for efficient access and eviction. More...
#include <RegionCacheManager.hpp>
Collaboration diagram for MayaFlux::Kakshya::RegionCacheManager:Public Member Functions | |
| RegionCacheManager (size_t max_size) | |
| ~RegionCacheManager ()=default | |
| RegionCacheManager (const RegionCacheManager &)=delete | |
| RegionCacheManager & | operator= (const RegionCacheManager &)=delete |
| RegionCacheManager (RegionCacheManager &&) noexcept=delete | |
| RegionCacheManager & | operator= (RegionCacheManager &&) noexcept=delete |
| void | initialize () |
| Initialize the cache manager. | |
| bool | is_initialized () const |
| Check if the cache manager is initialized. | |
| void | cache_region (const RegionCache &cache) |
| void | cache_segment (const RegionSegment &segment) |
| std::optional< RegionCache > | get_cached_region (const Region ®ion) |
| std::optional< RegionCache > | get_cached_segment (const RegionSegment &segment) |
| std::optional< RegionSegment > | get_segment_with_cache (const RegionSegment &segment) |
| void | clear () |
| size_t | size () const |
| size_t | max_size () const |
Private Member Functions | |
| void | evict_lru_if_needed () |
| std::optional< RegionCache > | get_cached_region_internal (const Region ®ion) |
| void | update_lru (const Region ®ion) |
Private Attributes | |
| std::unordered_map< Region, RegionCache, RegionHash > | m_cache |
| std::list< Region > | m_lru_list |
| size_t | m_max_cache_size |
| size_t | m_current_size = 0 |
| bool | m_initialized = false |
| std::recursive_mutex | m_mutex |
Manages caching of region data for efficient access and eviction.
Provides LRU-based caching for RegionCache and RegionSegment objects, supporting efficient repeated/random access to region data.
Definition at line 17 of file RegionCacheManager.hpp.