Skip to main content

IdSet

Struct IdSet 

Source
pub struct IdSet { /* private fields */ }
Expand description

A set of IDs (e.g., CPU IDs, task IDs)

Efficiently stores sets of IDs using bitmaps for small IDs and fallback vectors for sparse large IDs.

Implementations§

Source§

impl IdSet

Source

pub const fn new() -> Self

Creates a new empty ID set

Source

pub fn all(max: usize) -> Self

Creates an ID set containing all IDs from 0 to max

Source

pub fn insert(&mut self, id: usize)

Inserts an ID into the set

Source

pub fn remove(&mut self, id: usize)

Removes an ID from the set

Source

pub fn contains(&self, id: usize) -> bool

Checks if an ID is in the set

Source

pub fn is_empty(&self) -> bool

Returns true if the set is empty

Source

pub fn len(&self) -> usize

Returns the number of IDs in the set

Source

pub fn clear(&mut self)

Clears the set

Source

pub fn iter(&self) -> IdSetIter<'_>

Returns an iterator over the IDs in the set

Trait Implementations§

Source§

impl Clone for IdSet

Source§

fn clone(&self) -> IdSet

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for IdSet

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for IdSet

Source§

fn default() -> Self

Builds a default instance.

Auto Trait Implementations§

§

impl Freeze for IdSet

§

impl RefUnwindSafe for IdSet

§

impl Send for IdSet

§

impl Sync for IdSet

§

impl Unpin for IdSet

§

impl UnsafeUnpin for IdSet

§

impl UnwindSafe for IdSet

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

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>,

Source§

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.