closure_cacher

Crates.ioclosure_cacher
lib.rsclosure_cacher
version0.2.1
sourcesrc
created_at2021-05-06 19:18:31.291927
updated_at2021-05-10 16:03:29.307107
descriptionAllows caching of user specified closure.
homepage
repositoryhttps://github.com/khalilw1/closure_cacher
max_upload_size
id393928
size4,640
Ait Brahim Mohammed Khalil (Khalilw1)

documentation

https://docs.rs/closure_cacher

README

closure_cacher

This library offer caching for a user provided closure. There are two types of cachers inside:

  • Cacher which copies the user input and takes ownership of that copy
  • RefCacher which references user input and thus is bound to that input but doesn't involve copy

Usage

use closure_cacher::Cacher;

let mut cacher = Cacher::new(|x| x + 1)
println("{}", cacher.get(&4)); // outputs 5
use closure_cacher::RefCacher;
let four = 4;
let mut cacher = RefCacher::new(|x| x + 1)
println("{}", cacher.get(&four));

Contributions

If you have any feature request or enhancement in mind. I would love to add it :)

Disclaimer

This is not a very critical library i.e. it does one job in a very standard way.

You could usually just write it again.

I used it as part of my pass through the rust book and decided to go ahead and share so any feedback is appreciated.

Commit count: 10

cargo fmt