Trait ConcurrentIterable

Source
pub trait ConcurrentIterable {
    type Item<'i>
       where Self: 'i;
    type ConIter<'i>: ConcurrentIter<Item = Self::Item<'i>>
       where Self: 'i;

    // Required method
    fn con_iter(&self) -> Self::ConIter<'_>;
}
Expand description

A type that is concurrently iterable; i.e., which can provide a ConcurrentIter with the con_iter method.

Required Associated Types§

Source

type Item<'i> where Self: 'i

Type of the items that the iterator yields.

Source

type ConIter<'i>: ConcurrentIter<Item = Self::Item<'i>> where Self: 'i

Concurrent iterator that this type creates with the con_iter method.

Required Methods§

Source

fn con_iter(&self) -> Self::ConIter<'_>

Creates a concurrent iterator.

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.

Implementations on Foreign Types§

Source§

impl<Idx> ConcurrentIterable for Range<Idx>
where Idx: Send + Sync + Clone + Copy + From<usize> + Into<usize> + Add<Idx, Output = Idx> + Sub<Idx, Output = Idx> + Ord, Range<Idx>: Iterator<Item = Idx>,

Source§

type Item<'i> = Idx where Self: 'i

Source§

type ConIter<'i> = ConIterOfRange<Idx> where Self: 'i

Source§

fn con_iter(&self) -> Self::ConIter<'_>

Source§

impl<T: Send + Sync> ConcurrentIterable for &[T]

Source§

type Item<'i> = &'i T where Self: 'i

Source§

type ConIter<'i> = ConIterOfSlice<'i, T> where Self: 'i

Source§

fn con_iter(&self) -> Self::ConIter<'_>

Source§

impl<T: Send + Sync> ConcurrentIterable for Vec<T>

Source§

type Item<'i> = &'i T where Self: 'i

Source§

type ConIter<'i> = ConIterOfSlice<'i, T> where Self: 'i

Source§

fn con_iter(&self) -> Self::ConIter<'_>

Source§

impl<const N: usize, T: Send + Sync> ConcurrentIterable for [T; N]

Source§

type Item<'i> = &'i T where Self: 'i

Source§

type ConIter<'i> = ConIterOfSlice<'i, T> where Self: 'i

Source§

fn con_iter(&self) -> Self::ConIter<'_>

Implementors§