Enum orx_linked_list::NodeIdxError
source · pub enum NodeIdxError {
RemovedNode,
OutOfBounds,
ReorganizedCollection,
}
Expand description
Error cases of an invalid node index.
Variants§
RemovedNode
RemovedNode => Referenced node is removed from the collection. Node index can only be used if the corresponding node still belongs to the collection.
OutOfBounds
OutOfBounds => Node index is does not point to the current nodes of the collection. This might be due to either of the following:
- the index is being used to access a collection which is different than which it was created for,
- the node that the index is pointing to does not belong to the collection any more due to shrinking of the collection.
ReorganizedCollection
ReorganizedCollection => Nodes of the containing collection is re-organized in order to reclaim memory of closed nodes. Such a reorganization happens:
- after a node removal if the utilization level drops below a threshold on default self-reorganizing memory policies,
- after every removal if the always-reclaim memory is used,
- only if the
reclaim_closed_nodes()
is manually called when never-reclaim policy is used,- note that in this case indices are never implicitly invalidated.
Trait Implementations§
source§impl Clone for NodeIdxError
impl Clone for NodeIdxError
source§fn clone(&self) -> NodeIdxError
fn clone(&self) -> NodeIdxError
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 Debug for NodeIdxError
impl Debug for NodeIdxError
source§impl Display for NodeIdxError
impl Display for NodeIdxError
source§impl PartialEq for NodeIdxError
impl PartialEq for NodeIdxError
impl Copy for NodeIdxError
impl Eq for NodeIdxError
impl StructuralPartialEq for NodeIdxError
Auto Trait Implementations§
impl Freeze for NodeIdxError
impl RefUnwindSafe for NodeIdxError
impl Send for NodeIdxError
impl Sync for NodeIdxError
impl Unpin for NodeIdxError
impl UnwindSafe for NodeIdxError
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§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
)