associative_cache
A generic, fixed-size, associative cache data structure mapping K
keys to
V
values.
Capacity
The cache has a constant, fixed-size capacity which is controlled by the C
type parameter and the Capacity
trait. The memory for the cache entries is
eagerly allocated once and never resized.
Associativity
The cache can be configured as direct-mapped, two-way associative, four-way
associative, etc... via the I
type parameter and Indices
trait.
Replacement Policy
The cache can be configured to replace the least recently used (LRU) entry, or a
random entry via the R
type parameter and the Replacement
trait.
Examples
use *;
// A two-way associative cache with random replacement mapping
// `String`s to `usize`s.
let cache = default;
// A four-way associative cache with random replacement mapping
// `*mut usize`s to `Vec<u8>`s.
let cache = default;
// An eight-way associative, least recently used (LRU) cache mapping
// `std::path::PathBuf`s to `std::fs::File`s.
let cache = default;