Class CacheManager::entry¶
Defined in File cache_manager.hpp
Nested Relationships¶
This class is a nested type of Template Class CacheManager.
Class Documentation¶
-
class entry¶
Public Functions
-
inline explicit entry(size_t count, bool persistent = false) noexcept¶
-
inline void store(ResultPtr &&data, bool strict_fill_once)¶
- Parameters:
strict_fill_once – whether a duplicate-producer store on a non-persistent entry throws; the caller (CacheManager::store_and_access) passes its own
strict_fill_once()(per-instance, defaulting to the env gateeval::strict_fill_once()— see there), rather than this function reading the env gate directly, so tests can flip strictness deterministically without a process-wide static latch.
-
inline void reset() noexcept¶
-
inline bool persistent() const noexcept¶
-
inline size_t life_count() const noexcept¶
-
inline size_t max_life_count() const noexcept¶
-
inline size_t size_in_bytes() const noexcept¶
-
inline bool alive() const noexcept¶
-
inline bool holds(ResultPtr const &other) const noexcept¶
- Returns:
true iff this entry currently holds the same buffer (pointer identity) as
other. A sliced/permuted/phase-shifted read of this entry is a distinct buffer, so it compares unequal. Used by the peak trace to detect an operand that aliases a cached buffer (whose bytes are then already counted, and must not be added again).
-
inline explicit entry(size_t count, bool persistent = false) noexcept¶