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) } ```
Licensed under either of
at your option.
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.