orx-concurrent-iter 3.3.0

A thread-safe and ergonomic concurrent iterator trait and efficient lock-free implementations.
Documentation
use crate::{ConcurrentDrainableOverSlice, implementations::vec_drain::con_iter::ConIterVecDrain};
use alloc::vec::Vec;
use core::ops::RangeBounds;

impl<T> ConcurrentDrainableOverSlice for Vec<T>
where
    T: Send,
{
    type Item = T;

    type DrainingIter<'a>
        = ConIterVecDrain<'a, T>
    where
        Self: 'a;

    fn con_drain<R>(&mut self, range: R) -> Self::DrainingIter<'_>
    where
        R: RangeBounds<usize>,
    {
        ConIterVecDrain::new(self, range)
    }
}