pub unsafe trait FunctionalSequence<T>: GenericSequence<T> {
// Provided methods
fn map<U, F>(self, f: F) -> <Self::Mapped as GenericSequence<U>>::Sequence
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,
) -> <Self::Mapped as GenericSequence<U>>::Sequence
where Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = <Self::Mapped as GenericSequence<U>>::Sequence, Length = Self::Length> + GenericSequence<B>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, <Rhs as IntoIterator>::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) -> <Self::Mapped as GenericSequence<U>>::Sequence
fn map<U, F>(self, f: F) -> <Self::Mapped as GenericSequence<U>>::Sequence
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,
) -> <Self::Mapped as GenericSequence<U>>::Sequencewhere
Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = <Self::Mapped as GenericSequence<U>>::Sequence, Length = Self::Length> + GenericSequence<B>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, <Rhs as IntoIterator>::Item) -> U,
fn zip<B, Rhs, U, F>(
self,
rhs: Rhs,
f: F,
) -> <Self::Mapped as GenericSequence<U>>::Sequencewhere
Self: MappedGenericSequence<T, U>,
Rhs: MappedGenericSequence<B, U, Mapped = <Self::Mapped as GenericSequence<U>>::Sequence, Length = Self::Length> + GenericSequence<B>,
Self::Length: ArrayLength<B> + ArrayLength<U>,
F: FnMut(Self::Item, <Rhs as IntoIterator>::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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.