Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nelsbrock/iter_accumulate
An iterator adaptor for Rust that accumulates the elements from the base iterator using the provided closure.
https://github.com/nelsbrock/iter_accumulate
accumulate accumulator fold iterator rust
Last synced: 5 days ago
JSON representation
An iterator adaptor for Rust that accumulates the elements from the base iterator using the provided closure.
- Host: GitHub
- URL: https://github.com/nelsbrock/iter_accumulate
- Owner: nelsbrock
- License: apache-2.0
- Created: 2022-07-25T21:50:45.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-03T17:19:17.000Z (8 months ago)
- Last Synced: 2024-08-11T11:06:29.992Z (3 months ago)
- Topics: accumulate, accumulator, fold, iterator, rust
- Language: Rust
- Homepage: https://lib.rs/crates/iter_accumulate
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# iter_accumulate
An iterator adaptor for Rust that accumulates the elements from the base iterator
using the provided closure.## Example
```rust
use iter_accumulate::IterAccumulate;let input = [1, 2, 3, 4, 5];
let mut iter = input.iter().accumulate(1, |acc, i| acc * i);assert_eq!(iter.next(), Some(1));
assert_eq!(iter.next(), Some(2));
assert_eq!(iter.next(), Some(6));
assert_eq!(iter.next(), Some(24));
assert_eq!(iter.next(), Some(120));
assert_eq!(iter.next(), None);
```## License
Licensed under either of
* Apache License, Version 2.0
([LICENSE-APACHE](LICENSE-APACHE) or )
* MIT license
([LICENSE-MIT](LICENSE-MIT) or )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.