Struct SliceParallelSource

Source
pub struct SliceParallelSource<'data, T> { /* private fields */ }
Expand description

A parallel source over a slice. This struct is created by the par_iter() method on IntoParallelRefSource.

You most likely won’t need to interact with this struct directly, as it implements the ParallelSource and ParallelSourceExt traits, but it is nonetheless public because of the must_use annotation.

See also MutSliceParallelSource.

let input = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let iter: SliceParallelSource<_> = input.par_iter();
let sum = iter.with_thread_pool(&mut thread_pool).sum::<i32>();
assert_eq!(sum, 5 * 11);

Trait Implementations§

Source§

impl<'data, T: Sync> ParallelSource for SliceParallelSource<'data, T>

Source§

type Item = &'data T

The type of items that this parallel source produces. Read more
Source§

fn descriptor(self) -> impl SourceDescriptor<Item = Self::Item> + Sync

Returns an object that describes how to fetch items from this source.

Auto Trait Implementations§

§

impl<'data, T> Freeze for SliceParallelSource<'data, T>

§

impl<'data, T> RefUnwindSafe for SliceParallelSource<'data, T>
where T: RefUnwindSafe,

§

impl<'data, T> Send for SliceParallelSource<'data, T>
where T: Sync,

§

impl<'data, T> Sync for SliceParallelSource<'data, T>
where T: Sync,

§

impl<'data, T> Unpin for SliceParallelSource<'data, T>

§

impl<'data, T> UnwindSafe for SliceParallelSource<'data, T>
where T: RefUnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ParallelSourceExt for T
where T: ParallelSource,

Source§

fn chain<T: ParallelSource<Item = Self::Item>>(self, next: T) -> Chain<Self, T>

Returns a parallel source that produces items from this source followed by items from the next source. Read more
Source§

fn enumerate(self) -> Enumerate<Self>

Returns a parallel source that produces pairs of (index, item) for the items of this source. Read more
Source§

fn rev(self) -> Rev<Self>

Returns a parallel source that produces items from this source in reverse order. Read more
Source§

fn skip(self, n: usize) -> Skip<Self>

Returns a parallel source that skips the first n items from this source, or all the items if this source has fewer than n items, and produces the remaining items. Read more
Source§

fn skip_exact(self, n: usize) -> SkipExact<Self>

Returns a parallel source that skips the first n items from this source, panicking if this source has fewer than n items, and produces the remaining items. Read more
Source§

fn step_by(self, n: usize) -> StepBy<Self>

Returns a parallel source that produces every n-th item from this source, starting with the first one. Read more
Source§

fn take(self, n: usize) -> Take<Self>

Returns a parallel source that produces the first n items from this source, or all the items if this source has fewer than n items. Read more
Source§

fn take_exact(self, n: usize) -> TakeExact<Self>

Returns a parallel source that produces the first n items from this source, panicking if this source has fewer than n items. Read more
Source§

fn with_thread_pool( self, thread_pool: &mut ThreadPool, ) -> BaseParallelIterator<'_, Self>

Attaches the given ThreadPool to this ParallelSource and obtain a ParallelIterator. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.