EffectCell

A container that runs an effect every time its data is mutated. The effect is run with the old data.

You can mutate an EffectCell using the update method or the ~fancy~ cell <<= val syntax.

EffectCell does is also #![no_std]!

```rust use effect_cell::EffectCell;

fn main() { let mut counter = 0; let mut printer = EffectCell::new(0, || counter += 1); printer <<= 2; // counter increments printer <<= 4; // counter increments asserteq!(counter, 2) } ```

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.