Struct orx_split_vec::ConcurrentSplitVec
source · pub struct ConcurrentSplitVec<T, G: GrowthWithConstantTimeAccess = Doubling> { /* private fields */ }Expand description
Concurrent wrapper (orx_pinned_vec::ConcurrentPinnedVec) for the SplitVec.
Trait Implementations§
source§impl<T, G: GrowthWithConstantTimeAccess> ConcurrentPinnedVec<T> for ConcurrentSplitVec<T, G>
impl<T, G: GrowthWithConstantTimeAccess> ConcurrentPinnedVec<T> for ConcurrentSplitVec<T, G>
source§unsafe fn into_inner(self, len: usize) -> Self::P
unsafe fn into_inner(self, len: usize) -> Self::P
Converts back to the underlying pinned vector with the given length. Read more
source§fn capacity(&self) -> usize
fn capacity(&self) -> usize
Returns the current capacity of the vector, which is actually allocated.
source§fn max_capacity(&self) -> usize
fn max_capacity(&self) -> usize
Returns the maximum possible capacity that the vector can concurrently grow to without requiring a
&mut self reference. Read moresource§fn grow_to(&self, new_capacity: usize) -> Result<usize, PinnedVecGrowthError>
fn grow_to(&self, new_capacity: usize) -> Result<usize, PinnedVecGrowthError>
Tries to concurrently grow the capacity of the vector to at least
new_capacity. Returns: Read moresource§unsafe fn slices_mut<R: RangeBounds<usize>>(
&self,
range: R,
) -> <Self::P as PinnedVec<T>>::SliceMutIter<'_>
unsafe fn slices_mut<R: RangeBounds<usize>>( &self, range: R, ) -> <Self::P as PinnedVec<T>>::SliceMutIter<'_>
Returns an iterator of mutable slices to the elements extending over positions
range of the vector. Read moresource§unsafe fn iter<'a>(&'a self, len: usize) -> impl Iterator<Item = &'a T> + 'awhere
T: 'a,
unsafe fn iter<'a>(&'a self, len: usize) -> impl Iterator<Item = &'a T> + 'awhere
T: 'a,
Returns an iterator over positions
0..len of the vector. Read moresource§unsafe fn iter_mut<'a>(
&'a mut self,
len: usize,
) -> impl Iterator<Item = &'a mut T> + 'awhere
T: 'a,
unsafe fn iter_mut<'a>(
&'a mut self,
len: usize,
) -> impl Iterator<Item = &'a mut T> + 'awhere
T: 'a,
Returns a mutable iterator over positions
0..len of the vector. Read moresource§unsafe fn set_pinned_vec_len(&mut self, len: usize)
unsafe fn set_pinned_vec_len(&mut self, len: usize)
Sets the length of the underlying pinned vector to the given
len. Read moresource§unsafe fn get(&self, index: usize) -> Option<&T>
unsafe fn get(&self, index: usize) -> Option<&T>
Returns a reference to the element at the
index-th position. Read moresource§unsafe fn get_mut(&mut self, index: usize) -> Option<&mut T>
unsafe fn get_mut(&mut self, index: usize) -> Option<&mut T>
Returns a reference to the element at the
index-th position. Read moresource§unsafe fn get_ptr_mut(&self, index: usize) -> *mut T
unsafe fn get_ptr_mut(&self, index: usize) -> *mut T
Returns a mutable reference to the element at the
index-th position. Read moresource§impl<T, G: GrowthWithConstantTimeAccess> Drop for ConcurrentSplitVec<T, G>
impl<T, G: GrowthWithConstantTimeAccess> Drop for ConcurrentSplitVec<T, G>
source§impl<T, G: GrowthWithConstantTimeAccess> From<SplitVec<T, G>> for ConcurrentSplitVec<T, G>
impl<T, G: GrowthWithConstantTimeAccess> From<SplitVec<T, G>> for ConcurrentSplitVec<T, G>
Auto Trait Implementations§
impl<T, G = Doubling> !Freeze for ConcurrentSplitVec<T, G>
impl<T, G> RefUnwindSafe for ConcurrentSplitVec<T, G>where
G: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, G = Doubling> !Send for ConcurrentSplitVec<T, G>
impl<T, G = Doubling> !Sync for ConcurrentSplitVec<T, G>
impl<T, G> Unpin for ConcurrentSplitVec<T, G>
impl<T, G> UnwindSafe for ConcurrentSplitVec<T, G>
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