Function dedup_by::dedup_by [] [src]

pub fn dedup_by<T, F>(v: &mut Vec<T>, f: F) where
    F: FnMut(&T, &T) -> bool

Removes consecutive repeated elements in the vector based on whether the provided funciton 'f' returns true (remove) or false (do not remove).

See the std documentation for dedup for more details: https://doc.rust-lang.org/src/collections/up/src/libcollections/vec.rs.html#1004

Examples

use dedup_by::dedup_by;
let mut vec = vec![(1, 2), (2, 2), (3, 1)];

dedup_by(&mut vec, |a, b| { a.1 == b.1 });

assert_eq!(vec, [(1, 2), (3, 1)]);