Trait orx_concurrent_iter::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.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

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

§

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

§

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

source§

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

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>,

§

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

§

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

source§

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

source§

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

§

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

§

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

source§

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

source§

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

§

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

§

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

source§

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

Implementors§