checked_sum

Crates.iochecked_sum
lib.rschecked_sum
version0.1.0
sourcesrc
created_at2024-10-25 09:21:45.458163
updated_at2024-10-25 09:21:45.458163
descriptionA library safely summing up iterators.
homepage
repositoryhttps://github.com/elsirion/checked_sum
max_upload_size
id1422266
size6,501
(elsirion)

documentation

README

checked_sum

Crates.io Docs.rs License

Utility crate for summing up iterators in a safe way. The CheckedSum trait is implemented for any iterator of items implementing CheckedAdd, which in turn is implemented for all integer primitives but can also be implemented for other types like newtypes wrapping integers.

use checked_sum::CheckedSum;

// If the sum fits into the type, it is returned
let numbers = vec![1u8, 2, 3, 4, 5];
assert_eq!(numbers.into_iter().checked_sum(), Some(15),);

// If the sum overflows, `None` is returned
let numbers = vec![255u8, 1];
assert_eq!(numbers.into_iter().checked_sum(), None,);
Commit count: 3

cargo fmt