associative_cacheA generic, fixed-size, associative cache data structure mapping K keys to
V values.
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.
The cache can be configured as direct-mapped, two-way associative, four-way
associative, etc... via the I type parameter and Indices trait.
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.
```rust use associative_cache::*;
// A two-way associative cache with random replacement mapping
// Strings to usizes.
let cache = AssociativeCache::<
String,
usize,
Capacity512,
HashTwoWay,
RandomReplacement
::default();
// A four-way associative cache with random replacement mapping
// *mut usizes to Vec<u8>s.
let cache = AssociativeCache::<
*mut usize,
Vec
::default();
// An eight-way associative, least recently used (LRU) cache mapping
// std::path::PathBufs to std::fs::Files.
let cache = AssociativeCache::<
std::path::PathBuf,
WithLruTimestamp
::default(); ```