Struct thunderdome::Index
source · pub struct Index { /* private fields */ }
Expand description
Index type for Arena
that has a generation attached to it.
Implementations§
source§impl Index
impl Index
sourcepub const DANGLING: Self = _
pub const DANGLING: Self = _
Represents an Index
that is unlikely to be in use. This is useful for
programs that want to do two-phase initialization in safe Rust. Avoid
using this value to represent the absence of an Index
: prefer
Option<Index>
.
sourcepub const fn to_bits(self) -> u64
pub const fn to_bits(self) -> u64
Convert this Index
to an equivalent u64
representation. Mostly
useful for passing to code outside of Rust.
sourcepub const fn from_bits(bits: u64) -> Option<Self>
pub const fn from_bits(bits: u64) -> Option<Self>
Create an Index
from bits created with Index::to_bits
.
If this function is called with bits that are not valid for an Index
,
returns None
. This can happen if the encoded generation value is 0,
for example.
Stability
Bits from Index
values are guaranteed to be compatible within all
semver-compatible versions of Thunderdome. That is, using
Index::to_bits
in 0.4.0 and Index::from_bits
in 0.4.2 is guaranteed
to work.
sourcepub const fn generation(self) -> u32
pub const fn generation(self) -> u32
Convert this Index
into a generation, discarding its slot.
Trait Implementations§
source§impl Ord for Index
impl Ord for Index
source§impl PartialEq<Index> for Index
impl PartialEq<Index> for Index
source§impl PartialOrd<Index> for Index
impl PartialOrd<Index> for Index
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read more