Struct bitmap_allocator::BitAlloc16

source ·
pub struct BitAlloc16(/* private fields */);
Expand description

A bitmap consisting of only 16 bits. BitAlloc16 acts as the leaf (except the leaf bits of course) nodes in the segment trees.

Trait Implementations§

source§

impl BitAlloc for BitAlloc16

source§

const CAP: usize = 16usize

The bitmap has a total of CAP bits, numbered from 0 to CAP-1 inclusively.
source§

const DEFAULT: Self = _

The default value. Workaround for const fn new() -> Self.
source§

fn alloc(&mut self) -> Option<usize>

Allocate a free bit.
source§

fn alloc_contiguous(&mut self, size: usize, align_log2: usize) -> Option<usize>

Allocate a free block with a given size, and return the first bit position.
source§

fn dealloc(&mut self, key: usize)

Free an allocated bit.
source§

fn insert(&mut self, range: Range<usize>)

Mark bits in the range as unallocated (available)
source§

fn remove(&mut self, range: Range<usize>)

Reverse of insert
source§

fn any(&self) -> bool

👎Deprecated: use !self.is_empty() instead
Whether there are free bits remaining
source§

fn is_empty(&self) -> bool

Returns true if no bits is available.
source§

fn test(&self, key: usize) -> bool

Whether a specific bit is free
source§

fn next(&self, key: usize) -> Option<usize>

Find a index not less than a given key, where the bit is free.
source§

impl Default for BitAlloc16

source§

fn default() -> BitAlloc16

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.