Skip to main content

DistinctExt

Trait DistinctExt 

Source
pub trait DistinctExt<T: CellValue + Eq + Hash, S: Seedness>: Pipeline<T, S> {
    // Required method
    fn distinct(self) -> impl Materialize<T, S>;
}

Required Methods§

Source

fn distinct(self) -> impl Materialize<T, S>

Filter out values that have already been emitted (by Hash/Eq).

§Example
use hyphae::{Cell, DistinctExt, Materialize, Mutable};

let source = Cell::new(0);
let distinct = source.clone().distinct().materialize();

source.set(1);
source.set(2);
source.set(1); // blocked - already seen
source.set(3);
source.set(2); // blocked - already seen

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<T: CellValue + Eq + Hash, P: Pipeline<T, Definite>> DistinctExt<T, Definite> for P

Source§

impl<T: CellValue + Eq + Hash, P: Pipeline<T, Empty>> DistinctExt<T, Empty> for P