pub unsafe trait FunctionalSequence<T>: GenericSequence<T> {
// Provided methods
fn map<U, F>(self, f: F) -> MappedSequence<Self, T, U>
where Self: MappedGenericSequence<T, U>,
Self::Length: ArrayLength<U>,
F: FnMut(Self::Item) -> U { ... }
fn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U>
where Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>> + GenericSequence<B, Length = Self::Length>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, Rhs::Item) -> U { ... }
fn fold<U, F>(self, init: U, f: F) -> U
where F: FnMut(U, Self::Item) -> U { ... }
}
Expand description
Defines functional programming methods for generic sequences
Provided Methods§
sourcefn map<U, F>(self, f: F) -> MappedSequence<Self, T, U>
fn map<U, F>(self, f: F) -> MappedSequence<Self, T, U>
Maps a GenericSequence
to another GenericSequence
.
If the mapping function panics, any already initialized elements in the new sequence will be dropped, AND any unused elements in the source sequence will also be dropped.
sourcefn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U>where
Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>> + GenericSequence<B, Length = Self::Length>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, Rhs::Item) -> U,
fn zip<B, Rhs, U, F>(self, rhs: Rhs, f: F) -> MappedSequence<Self, T, U>where
Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = MappedSequence<Self, T, U>> + GenericSequence<B, Length = Self::Length>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, Rhs::Item) -> U,
Combines two GenericSequence
instances and iterates through both of them,
initializing a new GenericSequence
with the result of the zipped mapping function.
If the mapping function panics, any already initialized elements in the new sequence will be dropped, AND any unused elements in the source sequences will also be dropped.
Object Safety§
This trait is not object safe.