Struct orx_linked_list::MemoryReclaimNever
source · pub struct MemoryReclaimNever(/* private fields */);
Expand description
A do-nothing MemoryReclaimPolicy
which would never reclaim the memory of the closed nodes, leaving them as holes in the underlying storage.
This approach has the advantage that a NodeIndex
is never invalidated due to an automatic memory reorganization.
Furthermore, node utilization can still be maximized by manually calling reclaim_closed_nodes
method.
Trait Implementations§
source§impl Clone for MemoryReclaimNever
impl Clone for MemoryReclaimNever
source§fn clone(&self) -> MemoryReclaimNever
fn clone(&self) -> MemoryReclaimNever
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Default for MemoryReclaimNever
impl Default for MemoryReclaimNever
source§fn default() -> MemoryReclaimNever
fn default() -> MemoryReclaimNever
Returns the “default value” for a type. Read more
source§impl MemoryReclaimPolicy for MemoryReclaimNever
impl MemoryReclaimPolicy for MemoryReclaimNever
source§fn reclaim_closed_nodes<'rf, 'a, V, T, P>(
_: &mut SelfRefColMut<'rf, 'a, V, T, P>,
)where
T: 'a,
V: Variant<'a, T, Storage = NodeDataLazyClose<T>>,
P: PinnedVec<Node<'a, V, T>> + 'a,
SelfRefColMut<'rf, 'a, V, T, P>: Reclaim<<V as Variant<'a, T>>::Prev, <V as Variant<'a, T>>::Next>,
fn reclaim_closed_nodes<'rf, 'a, V, T, P>(
_: &mut SelfRefColMut<'rf, 'a, V, T, P>,
)where
T: 'a,
V: Variant<'a, T, Storage = NodeDataLazyClose<T>>,
P: PinnedVec<Node<'a, V, T>> + 'a,
SelfRefColMut<'rf, 'a, V, T, P>: Reclaim<<V as Variant<'a, T>>::Prev, <V as Variant<'a, T>>::Next>,
Manually attempts to reclaim closed nodes. Read more
source§fn at_the_same_state_as(&self, collection: &MemoryReclaimNever) -> bool
fn at_the_same_state_as(&self, collection: &MemoryReclaimNever) -> bool
Returns whether or not two self referential collections are the same memory state or not.
This method is used internally to check validity of
NodeIndex
es.source§fn successor_state(&self) -> MemoryReclaimNever
fn successor_state(&self) -> MemoryReclaimNever
Provides the state succeeding the current memory state.
impl Copy for MemoryReclaimNever
Auto Trait Implementations§
impl Freeze for MemoryReclaimNever
impl RefUnwindSafe for MemoryReclaimNever
impl Send for MemoryReclaimNever
impl Sync for MemoryReclaimNever
impl Unpin for MemoryReclaimNever
impl UnwindSafe for MemoryReclaimNever
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)