Skip to main content

EntitySet

Struct EntitySet 

Source
pub struct EntitySet<K>
where K: EntityRef,
{ /* private fields */ }
Expand description

Like cranelift_entity::EntitySet but enforces fallible allocation for all methods that allocate.

Implementations§

Source§

impl<K> EntitySet<K>
where K: EntityRef,

Source

pub fn new() -> Self

Create a new empty set.

Source

pub fn with_capacity(capacity: usize) -> Result<Self, OutOfMemory>

Creates a new empty set with the specified capacity.

Source

pub fn ensure_capacity(&mut self, capacity: usize) -> Result<(), OutOfMemory>

Ensure that there is enough capacity to hold capacity total elements.

Source

pub fn is_empty(&self) -> bool

Is this set completely empty?

Source

pub fn contains(&self, k: K) -> bool

Get the element at k if it exists.

Source

pub fn clear(&mut self)

Remove all entries from this set.

Source

pub fn keys(&self) -> Keys<K>

Iterate over all the keys up to the maximum in this set.

This will yield intermediate keys on the way up to the max key, even if they are not contained within the set.

Source

pub fn iter(&self) -> SetIter<'_, K>

Iterate over the elements of this set.

Source

pub fn insert(&mut self, k: K) -> Result<bool, OutOfMemory>

Insert the element at k.

Returns true if k was not present in the set, i.e. this is a newly-added element. Returns false otherwise.

Source

pub fn remove(&mut self, k: K) -> bool

Remove k from this bitset.

Returns whether k was previously in this set or not.

Source

pub fn pop(&mut self) -> Option<K>

Removes and returns the highest-index entity from the set if it exists.

Trait Implementations§

Source§

impl<K> Debug for EntitySet<K>
where K: EntityRef + Debug,

Source§

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

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

impl<K> Default for EntitySet<K>
where K: EntityRef + Default,

Source§

fn default() -> EntitySet<K>

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

Auto Trait Implementations§

§

impl<K> Freeze for EntitySet<K>

§

impl<K> RefUnwindSafe for EntitySet<K>
where K: RefUnwindSafe,

§

impl<K> Send for EntitySet<K>
where K: Send,

§

impl<K> Sync for EntitySet<K>
where K: Sync,

§

impl<K> Unpin for EntitySet<K>
where K: Unpin,

§

impl<K> UnwindSafe for EntitySet<K>
where K: UnwindSafe,

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

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.