function_cache 0.1.0

A type that automatically caches the result of a function.
Documentation
  • Coverage
  • 100%
    4 out of 4 items documented1 out of 3 items with examples
  • Size
  • Source code size: 6.27 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 1.32 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • Homepage
  • Repository
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • MattBolitho

function_cache

function_cache is a simple generic wrapper around a function that caches results for a given input to a hash map.

It is based on the example from chapter 13.1 of the Rust book and serves as a small example for me to better understand the Cargo package ecosystem!

Install

To install, simple add the function_cache crate your Cargo.toml file:

[dependencies]
function_cache = "0.1.0"

Example

CachedFunction instances can be created with the new static method, which takes a closure. The underlying value can be accessed with the value(arg) method.

let mut cached_function = CachedFunction::new(|x: i32| {
    thread::sleep(Duration::from_secs(5));
    x
});

let not_cached = cached_function.value(2);  // returns 2, after 5 seconds
let cached = cached_function.value(2); // returns 2, but much quicker!

License

Distributed under the MIT License. See LICENSE.md for more information.