Struct orx_concurrent_iter::ConIterOfSlice

source ·
pub struct ConIterOfSlice<'a, T: Send + Sync> { /* private fields */ }
Expand description

A concurrent iterator over a slice yielding references to the elements.

Implementations§

source§

impl<'a, T: Send + Sync> ConIterOfSlice<'a, T>

source

pub fn new(slice: &'a [T]) -> Self

Creates a concurrent iterator for the given slice.

source

pub fn as_slice(&self) -> &'a [T]

Returns a reference to the underlying slice.

Trait Implementations§

source§

impl<'a, T: Send + Sync> AtomicIter for ConIterOfSlice<'a, T>

§

type Item = &'a T

Type of the items that the iterator yields.
source§

fn counter(&self) -> &AtomicCounter

Returns a reference to the underlying advanced item counter.
source§

fn get(&self, item_idx: usize) -> Option<Self::Item>

Returns the item_idx-th item that the iterator yields; returns None if the iterator completes before.
source§

fn fetch_n(&self, n: usize) -> impl NextChunk<Self::Item>

Returns an iterator of the next n consecutive items that the iterator yields. It might return an iterator of less or no items if the iteration does not have sufficient elements left.
source§

fn fetch_one(&self) -> Option<Next<Self::Item>>

Returns the next item that the iterator yields; returns None if the iteration has completed.
source§

impl<'a, T: Send + Sync> AtomicIterWithInitialLen for ConIterOfSlice<'a, T>

source§

fn initial_len(&self) -> usize

Returns the initial length of the atomic iterator.
source§

fn fetch_n_with_exact_len( &self, n: usize ) -> NextManyExact<Self::Item, impl ExactSizeIterator<Item = Self::Item>>

Returns an iterator of the next n consecutive items that the iterator together with an exact size iterator. It might return an iterator of less or no items if the iteration does not have sufficient elements left.
source§

impl<'a, T: Send + Sync> Clone for ConIterOfSlice<'a, T>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a, T: Debug + Send + Sync> Debug for ConIterOfSlice<'a, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

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

source§

fn from(slice: &'a [T]) -> Self

Creates a concurrent iterator for the given slice.

source§

impl<'a, T: Send + Sync> Send for ConIterOfSlice<'a, T>

source§

impl<'a, T: Send + Sync> Sync for ConIterOfSlice<'a, T>

Auto Trait Implementations§

§

impl<'a, T> !Freeze for ConIterOfSlice<'a, T>

§

impl<'a, T> RefUnwindSafe for ConIterOfSlice<'a, T>
where T: RefUnwindSafe,

§

impl<'a, T> Unpin for ConIterOfSlice<'a, T>

§

impl<'a, T> UnwindSafe for ConIterOfSlice<'a, 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<A> ConcurrentIter for A
where A: AtomicIter,

§

type Item = <A as AtomicIter>::Item

Type of the items that the iterator yields.
source§

fn next_id_and_value(&self) -> Option<Next<<A as AtomicIter>::Item>>

Advances the iterator and returns the next value together with its enumeration index. Read more
source§

fn next_chunk(&self, n: usize) -> impl NextChunk<<A as AtomicIter>::Item>

Advances the iterator chunk_size times and returns an iterator of at most chunk_size consecutive next values. Further, the beginning enumeration index of the yielded values is returned. Read more
source§

fn next(&self) -> Option<Self::Item>

Advances the iterator and returns the next value. Read more
source§

fn values(&self) -> ConIterValues<'_, Self>
where Self: Sized,

Returns an Iterator over the values of elements of the concurrent iterator. Read more
source§

fn ids_and_values(&self) -> ConIterIdsAndValues<'_, Self>
where Self: Sized,

Returns an Iterator over the ids and values of elements of the concurrent iterator. Read more
source§

impl<A> ExactSizeConcurrentIter for A

source§

fn len(&self) -> usize

Returns the exact remaining length of the concurrent iterator.
source§

fn next_exact_chunk( &self, chunk_size: usize ) -> Option<NextManyExact<<A as ConcurrentIter>::Item, impl ExactSizeIterator>>

Returns the next chunk with the requested chunk_size: Read more
source§

fn is_empty(&self) -> bool

Returns true if the iterator is empty.
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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

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

§

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

§

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.