memo-map

Crates.iomemo-map
lib.rsmemo-map
version0.3.3
sourcesrc
created_at2022-03-20 00:55:30.992253
updated_at2024-07-28 14:49:39.542091
descriptionA crate implementing a synchronized map for memoization
homepage
repositoryhttps://github.com/mitsuhiko/memo-map
max_upload_size
id553393
size33,605
Armin Ronacher (mitsuhiko)

documentation

README

memo-map

Build Status Crates.io License rustc 1.41.0 Documentation

A concurrent insert only hash map.

This crate implements a “memo map” which is in many ways similar to a HashMap with some crucial differences:

  • Unlike a regular hash map, a memo map is thread safe and synchronized.
  • Adding or retrieving keys works through a shared reference, removing only through a mutable reference.
  • Retrieving a value from a memo map returns a plain old reference.
use memo_map::MemoMap;

let memo = MemoMap::new();
let one = memo.get_or_insert(&1, || "one".to_string());
let one2 = memo.get_or_insert(&1, || "not one".to_string());
assert_eq!(one, "one");
assert_eq!(one2, "one");

License and Links

Commit count: 19

cargo fmt