Struct orx_concurrent_iter::ConIterOfVec
source · pub struct ConIterOfVec<T: Send + Sync + Default> { /* private fields */ }Expand description
A concurrent iterator over a vector, consuming the vector and yielding its elements.
Implementations§
Trait Implementations§
source§impl<T: Send + Sync + Default> AtomicIter<T> for ConIterOfVec<T>
impl<T: Send + Sync + Default> AtomicIter<T> for ConIterOfVec<T>
source§fn counter(&self) -> &AtomicCounter
fn counter(&self) -> &AtomicCounter
Returns a reference to the underlying advanced item counter.
source§fn progress_and_get_begin_idx(&self, number_to_fetch: usize) -> Option<usize>
fn progress_and_get_begin_idx(&self, number_to_fetch: usize) -> Option<usize>
Progresses the atomic counter by
number_to_fetch elements and returns the beginning index of the elements to be fetched.
Returns None if the iterator is terminated and there are no more elements to be fetched. Read moresource§fn get(&self, item_idx: usize) -> Option<T>
fn get(&self, item_idx: usize) -> Option<T>
Returns the
item_idx-th item that the iterator yields; returns None if the iterator completes before.source§impl<T: Send + Sync + Default> AtomicIterWithInitialLen<T> for ConIterOfVec<T>
impl<T: Send + Sync + Default> AtomicIterWithInitialLen<T> for ConIterOfVec<T>
source§fn initial_len(&self) -> usize
fn initial_len(&self) -> usize
Returns the initial length of the atomic iterator.
source§impl<T: Send + Sync + Default> ConcurrentIter for ConIterOfVec<T>
impl<T: Send + Sync + Default> ConcurrentIter for ConIterOfVec<T>
§type BufferedIter = BufferedVec
type BufferedIter = BufferedVec
Type of the buffered iterator returned by the
chunk_iter method when elements are fetched in chunks by each thread.source§fn next_id_and_value(&self) -> Option<Next<Self::Item>>
fn next_id_and_value(&self) -> Option<Next<Self::Item>>
Advances the iterator and returns the next value together with its enumeration index. Read more
source§fn next_chunk(
&self,
chunk_size: usize
) -> Option<NextChunk<Self::Item, impl ExactSizeIterator<Item = Self::Item>>>
fn next_chunk( &self, chunk_size: usize ) -> Option<NextChunk<Self::Item, impl ExactSizeIterator<Item = Self::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 moresource§fn buffered_iter(
&self,
chunk_size: usize
) -> BufferedIter<'_, Self::Item, Self::BufferedIter>
fn buffered_iter( &self, chunk_size: usize ) -> BufferedIter<'_, Self::Item, Self::BufferedIter>
Creates an iterator which pulls elements from this iterator as chunks of the given
chunk_size. Read moresource§fn try_get_len(&self) -> Option<usize>
fn try_get_len(&self) -> Option<usize>
Returns Some of the remaining length of the iterator if it is known; returns None otherwise.
source§fn next(&self) -> Option<Self::Item>
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,
fn values(&self) -> ConIterValues<'_, Self> ⓘwhere
Self: Sized,
Returns an
Iterator over the values of elements of the concurrent iterator. Read moresource§fn ids_and_values(&self) -> ConIterIdsAndValues<'_, Self> ⓘwhere
Self: Sized,
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 moresource§fn for_each<Fun: FnMut(Self::Item)>(&self, chunk_size: usize, fun: Fun)where
Self: Sized,
fn for_each<Fun: FnMut(Self::Item)>(&self, chunk_size: usize, fun: Fun)where
Self: Sized,
Applies the function
fun to each element of the iterator concurrently. Read moresource§impl<T: Send + Sync + Default> ExactSizeConcurrentIter for ConIterOfVec<T>
impl<T: Send + Sync + Default> ExactSizeConcurrentIter for ConIterOfVec<T>
impl<T: Send + Sync + Default> Send for ConIterOfVec<T>
impl<T: Send + Sync + Default> Sync for ConIterOfVec<T>
Auto Trait Implementations§
impl<T> !Freeze for ConIterOfVec<T>
impl<T> !RefUnwindSafe for ConIterOfVec<T>
impl<T> Unpin for ConIterOfVec<T>where
T: Unpin,
impl<T> UnwindSafe for ConIterOfVec<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more