Struct AntiStorage

Source
pub struct AntiStorage<'a>(pub &'a BitSet);
Expand description

An inverted storage type, only useful to iterate entities that do not have a particular component type.

Tuple Fields§

§0: &'a BitSet

Trait Implementations§

Source§

impl<'a> Join for AntiStorage<'a>

Source§

type Mask = BitSetNot<&'a BitSet>

Type of joined bit mask.
Source§

type Type = ()

Type of joined components.
Source§

type Value = ()

Type of joined storages.
Source§

unsafe fn open(self) -> (Self::Mask, ())

Open this join by returning the mask and the storages. Read more
Source§

unsafe fn get(_: &mut (), _: Index)

Get a joined component value by a given index. Read more
Source§

fn join(self) -> JoinIter<Self>
where Self: Sized,

Create a joined iterator over the contents.
Source§

fn is_unconstrained() -> bool

If this Join typically returns all indices in the mask, then iterating over only it or combined with other joins that are also dangerous will cause the JoinIter to go through all indices which is usually not what is wanted and will kill performance.
Source§

impl<'a> LendJoin for AntiStorage<'a>

Source§

type Mask = BitSetNot<&'a BitSet>

Type of joined bit mask.
Source§

type Value = ()

Type of joined storages.
Source§

unsafe fn open(self) -> (Self::Mask, ())

Open this join by returning the mask and the storages. Read more
Source§

unsafe fn get<'next>(_: &'next mut (), _: Index)

Get a joined component value by a given index. Read more
Source§

fn lend_join(self) -> JoinLendIter<Self>
where Self: Sized,

Create a joined lending iterator over the contents.
Source§

fn maybe(self) -> MaybeJoin<Self>
where Self: Sized,

Returns a structure that implements Join/LendJoin/MaybeJoin if the contained T does and that yields all indices, returning None for all missing elements and Some(T) for found elements. Read more
Source§

fn is_unconstrained() -> bool

If this LendJoin typically returns all indices in the mask, then iterating over only it or combined with other joins that are also dangerous will cause the JoinLendIter to go through all indices which is usually not what is wanted and will kill performance.
Source§

impl<'a> ParJoin for AntiStorage<'a>

Source§

type Mask = BitSetNot<&'a BitSet>

Type of joined bit mask.
Source§

type Type = ()

Type of joined components.
Source§

type Value = ()

Type of joined storages.
Source§

unsafe fn open(self) -> (Self::Mask, ())

Open this join by returning the mask and the storages. Read more
Source§

unsafe fn get(_: &(), _: Index)

Get a joined component value by a given index. Read more
Source§

fn par_join(self) -> JoinParIter<Self>
where Self: Sized,

Create a joined parallel iterator over the contents.
Source§

fn is_unconstrained() -> bool

If this LendJoin typically returns all indices in the mask, then iterating over only it or combined with other joins that are also dangerous will cause the JoinLendIter to go through all indices which is usually not what is wanted and will kill performance.
Source§

impl RepeatableLendGet for AntiStorage<'_>

Auto Trait Implementations§

§

impl<'a> Freeze for AntiStorage<'a>

§

impl<'a> RefUnwindSafe for AntiStorage<'a>

§

impl<'a> Send for AntiStorage<'a>

§

impl<'a> Sync for AntiStorage<'a>

§

impl<'a> Unpin for AntiStorage<'a>

§

impl<'a> UnwindSafe for AntiStorage<'a>

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> 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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. 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.
Source§

impl<T> Event for T
where T: Send + Sync + 'static,

Source§

impl<T> Resource for T
where T: Any + Send + Sync,