Struct timely_container::columnation::StableRegion
source · pub struct StableRegion<T> { /* private fields */ }
Expand description
A region allocator which holds items at stable memory locations.
Items once inserted will not be moved, and their locations in memory can be relied on by others, until the region is cleared.
This type accepts owned data, rather than references, and does not
itself intend to implement Region
. Rather, it is a useful building
block for other less-safe code that wants allocated data to remain at
fixed memory locations.
Implementations§
source§impl<T> StableRegion<T>
impl<T> StableRegion<T>
sourcepub fn with_limit(limit: usize) -> StableRegion<T>
pub fn with_limit(limit: usize) -> StableRegion<T>
Construct a StableRegion with a allocation size limit.
sourcepub fn copy_iter<I>(&mut self, items: I) -> &mut [T]where
I: Iterator<Item = T> + ExactSizeIterator,
pub fn copy_iter<I>(&mut self, items: I) -> &mut [T]where
I: Iterator<Item = T> + ExactSizeIterator,
Copies an iterator of items into the region.
sourcepub fn copy_slice(&mut self, items: &[T]) -> &mut [T]where
T: Clone,
pub fn copy_slice(&mut self, items: &[T]) -> &mut [T]where
T: Clone,
Copies a slice of cloneable items into the region.
sourcepub fn reserve(&mut self, count: usize)
pub fn reserve(&mut self, count: usize)
Ensures that there is space in self.local
to copy at least count
items.
sourcepub fn with_capacity(count: usize) -> StableRegion<T>
pub fn with_capacity(count: usize) -> StableRegion<T>
Allocates a new Self
that can accept count
items without reallocation.
pub fn heap_size(&self, callback: impl FnMut(usize, usize))
Trait Implementations§
source§impl<T> Default for StableRegion<T>
impl<T> Default for StableRegion<T>
source§fn default() -> StableRegion<T>
fn default() -> StableRegion<T>
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl<T> Freeze for StableRegion<T>
impl<T> RefUnwindSafe for StableRegion<T>where
T: RefUnwindSafe,
impl<T> Send for StableRegion<T>where
T: Send,
impl<T> Sync for StableRegion<T>where
T: Sync,
impl<T> Unpin for StableRegion<T>where
T: Unpin,
impl<T> UnwindSafe for StableRegion<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