#![expect(clippy::print_stdout, clippy::wildcard_imports, reason = "Examples prioritize readability")]
use frozen_collections::*;
fn main() {
let mut scores = FzStringMap::new(vec![
(String::from("Alice"), 85_i32),
(String::from("Bob"), 92),
(String::from("Carol"), 78),
(String::from("Dave"), 95),
]);
println!("Original scores:");
for (name, &score) in &scores {
println!(" {name}: {score}");
}
if let Some(score) = scores.get_mut("Carol") {
*score += 10;
println!("\nCarol's score after bonus: {score}");
}
for score in scores.values_mut() {
*score = (*score).min(100); }
println!("\nCapped scores:");
for (name, &score) in &scores {
println!(" {name}: {score}");
}
let names: Vec<_> = scores.keys().collect();
println!("\nAll participants: {names:?}");
let all_scores: Vec<_> = scores.values().collect();
println!("All scores: {all_scores:?}");
println!("Total entries: {}", scores.len());
println!("Is empty? {}", scores.is_empty());
let final_scores: Vec<_> = scores.into_values().collect();
println!("Final scores (consumed): {final_scores:?}");
}