[][src]Trait slice_group_by::GroupBy

pub trait GroupBy<T> {
    fn linear_group_by<P>(&self, predicate: P) -> LinearGroupBy<T, P>
    where
        P: FnMut(&T, &T) -> bool
;
fn linear_group(&self) -> LinearGroup<T>
    where
        T: PartialEq
;
fn binary_group_by<P>(&self, predicate: P) -> BinaryGroupBy<T, P>
    where
        P: FnMut(&T, &T) -> bool
;
fn binary_group(&self) -> BinaryGroup<T>
    where
        T: PartialEq
;
fn exponential_group_by<P>(&self, predicate: P) -> ExponentialGroupBy<T, P>
    where
        P: FnMut(&T, &T) -> bool
;
fn exponential_group(&self) -> ExponentialGroup<T>
    where
        T: PartialEq
; }

A convenient trait to construct an iterator returning non-overlapping groups defined by a predicate.

Required methods

Important traits for LinearGroupBy<'a, T, P>
fn linear_group_by<P>(&self, predicate: P) -> LinearGroupBy<T, P> where
    P: FnMut(&T, &T) -> bool

Returns an iterator on slice groups using the linear search method.

Important traits for LinearGroup<'a, T>
fn linear_group(&self) -> LinearGroup<T> where
    T: PartialEq

Returns an iterator on slice groups based on the PartialEq::eq method of T, it uses linear search to iterate over groups.

Important traits for BinaryGroupBy<'a, T, P>
fn binary_group_by<P>(&self, predicate: P) -> BinaryGroupBy<T, P> where
    P: FnMut(&T, &T) -> bool

Returns an iterator on slice groups using the binary search method.

The predicate function should implement an order consistent with the sort order of the slice.

Important traits for BinaryGroup<'a, T>
fn binary_group(&self) -> BinaryGroup<T> where
    T: PartialEq

Returns an iterator on slice groups based on the PartialEq::eq method of T, it uses binary search to iterate over groups.

The predicate function should implement an order consistent with the sort order of the slice.

Important traits for ExponentialGroupBy<'a, T, P>
fn exponential_group_by<P>(&self, predicate: P) -> ExponentialGroupBy<T, P> where
    P: FnMut(&T, &T) -> bool

Returns an iterator on slice groups using the exponential search method.

The predicate function should implement an order consistent with the sort order of the slice.

Important traits for ExponentialGroup<'a, T>
fn exponential_group(&self) -> ExponentialGroup<T> where
    T: PartialEq

Returns an iterator on slice groups based on the PartialEq::eq method of T, it uses exponential search to iterate over groups.

The predicate function should implement an order consistent with the sort order of the slice.

Loading content...

Implementations on Foreign Types

impl<T> GroupBy<T> for [T][src]

Loading content...

Implementors

Loading content...