#value #iterator #last #give #mark #pair #extension

mark_last

Simple extension to rust iterator's to mark the last element of an iterator

3 releases

0.9.2 Dec 30, 2020
0.9.1 Dec 29, 2020
0.9.0 Dec 29, 2020

#2310 in Rust patterns

MIT license

5KB
61 lines

mark_last

A simple extension to rust iterators which gives the next value as well as a boolean indicating if this is the last value of the iterator.

The iterator returned yields pairs (b, val), where b is true if this is the last value and val is the value returned by the iterator.

Usage

Add mark_last = "0.9.2" to the dependencies section of your Cargo.toml file, and use it like so:

use mark_last::MarkLastIterator;

let in_data = vec![1, 2, 3, 5, 99];

let out_data: Vec<_> = in_data
    .into_iter()
    .mark_last()
    .collect();

assert_eq!(
    out_data,
    vec![
        (false, 1),
        (false, 2),
        (false, 3),
        (false, 5),
        (true, 99)
    ]
)

No runtime deps