Skip to main content

registry_mutation/
registry_mutation.rs

1use adar_registry::prelude::*;
2
3fn main() {
4    let registry = Registry::<i32>::new();
5    let entry1 = registry.register(0);
6    let entry2 = registry.register(100);
7
8    println!("{:?}", registry); // Prints: {0: 0, 1: 100}
9
10    println!("Mutation via Registry...");
11    for (_, value) in registry.write().iter_mut() {
12        *value += 1;
13    }
14    println!("{:?}", registry); // Prints: {0: 1, 1: 101}
15
16    println!("Mutation via typed Entry...");
17    *entry1.write().unwrap().get_mut() += 10;
18    *entry2.write().unwrap().get_mut() += 10;
19    println!("{:?}", registry); // Prints: {0: 11, 1: 111}
20}