Trait slice_group_by::GroupByMut
source · pub trait GroupByMut<T> {
fn linear_group_by_key_mut<F, K>(
&mut self,
func: F
) -> LinearGroupByKeyMut<'_, T, F> ⓘ
where
F: FnMut(&T) -> K,
K: PartialEq;
fn linear_group_by_mut<P>(
&mut self,
predicate: P
) -> LinearGroupByMut<'_, T, P> ⓘ
where
P: FnMut(&T, &T) -> bool;
fn linear_group_mut(&mut self) -> LinearGroupMut<'_, T> ⓘ
where
T: PartialEq;
fn binary_group_by_key_mut<F, K>(
&mut self,
func: F
) -> BinaryGroupByKeyMut<'_, T, F> ⓘ
where
F: FnMut(&T) -> K,
K: PartialEq;
fn binary_group_by_mut<P>(
&mut self,
predicate: P
) -> BinaryGroupByMut<'_, T, P> ⓘ
where
P: FnMut(&T, &T) -> bool;
fn binary_group_mut(&mut self) -> BinaryGroupMut<'_, T> ⓘ
where
T: PartialEq;
fn exponential_group_by_key_mut<F, K>(
&mut self,
func: F
) -> ExponentialGroupByKeyMut<'_, T, F> ⓘ
where
F: Fn(&T) -> K,
K: PartialEq;
fn exponential_group_by_mut<P>(
&mut self,
predicate: P
) -> ExponentialGroupByMut<'_, T, P> ⓘ
where
P: FnMut(&T, &T) -> bool;
fn exponential_group_mut(&mut self) -> ExponentialGroupMut<'_, T> ⓘ
where
T: PartialEq;
}
Expand description
A convenient trait to construct an iterator returning non-overlapping mutable groups defined by a predicate.
Required Methods§
sourcefn linear_group_by_key_mut<F, K>(
&mut self,
func: F
) -> LinearGroupByKeyMut<'_, T, F> ⓘwhere
F: FnMut(&T) -> K,
K: PartialEq,
fn linear_group_by_key_mut<F, K>(
&mut self,
func: F
) -> LinearGroupByKeyMut<'_, T, F> ⓘwhere
F: FnMut(&T) -> K,
K: PartialEq,
Returns an iterator on mutable slice groups based that will use the given function to generate keys and determine groups based on them. It uses linear search to iterate over groups.
sourcefn linear_group_by_mut<P>(&mut self, predicate: P) -> LinearGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
fn linear_group_by_mut<P>(&mut self, predicate: P) -> LinearGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
Returns an iterator on mutable slice groups using the linear search method.
sourcefn linear_group_mut(&mut self) -> LinearGroupMut<'_, T> ⓘwhere
T: PartialEq,
fn linear_group_mut(&mut self) -> LinearGroupMut<'_, T> ⓘwhere
T: PartialEq,
Returns an iterator on mutable slice groups based on the PartialEq::eq
method of T
,
it uses linear search to iterate over groups.
sourcefn binary_group_by_key_mut<F, K>(
&mut self,
func: F
) -> BinaryGroupByKeyMut<'_, T, F> ⓘwhere
F: FnMut(&T) -> K,
K: PartialEq,
fn binary_group_by_key_mut<F, K>(
&mut self,
func: F
) -> BinaryGroupByKeyMut<'_, T, F> ⓘwhere
F: FnMut(&T) -> K,
K: PartialEq,
Returns an iterator on mutable slice groups based that will use the given function to generate keys and determine groups based on them. It uses binary search to iterate over groups.
The predicate function should implement an order consistent with the sort order of the slice.
sourcefn binary_group_by_mut<P>(&mut self, predicate: P) -> BinaryGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
fn binary_group_by_mut<P>(&mut self, predicate: P) -> BinaryGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
Returns an iterator on mutable slice groups using the binary search method.
The predicate function should implement an order consistent with the sort order of the slice.
sourcefn binary_group_mut(&mut self) -> BinaryGroupMut<'_, T> ⓘwhere
T: PartialEq,
fn binary_group_mut(&mut self) -> BinaryGroupMut<'_, T> ⓘwhere
T: PartialEq,
Returns an iterator on mutable 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.
sourcefn exponential_group_by_key_mut<F, K>(
&mut self,
func: F
) -> ExponentialGroupByKeyMut<'_, T, F> ⓘwhere
F: Fn(&T) -> K,
K: PartialEq,
fn exponential_group_by_key_mut<F, K>(
&mut self,
func: F
) -> ExponentialGroupByKeyMut<'_, T, F> ⓘwhere
F: Fn(&T) -> K,
K: PartialEq,
Returns an iterator on mutable slice groups based that will use the given function to generate keys and determine groups based on them. It uses exponential search to iterate over groups.
The predicate function should implement an order consistent with the sort order of the slice.
sourcefn exponential_group_by_mut<P>(
&mut self,
predicate: P
) -> ExponentialGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
fn exponential_group_by_mut<P>(
&mut self,
predicate: P
) -> ExponentialGroupByMut<'_, T, P> ⓘwhere
P: FnMut(&T, &T) -> bool,
Returns an iterator on mutable slice groups using the exponential search method.
The predicate function should implement an order consistent with the sort order of the slice.
sourcefn exponential_group_mut(&mut self) -> ExponentialGroupMut<'_, T> ⓘwhere
T: PartialEq,
fn exponential_group_mut(&mut self) -> ExponentialGroupMut<'_, T> ⓘwhere
T: PartialEq,
Returns an iterator on mutable 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.