Struct ComponentStorage

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

Stores a chunk of entities and their component data of a specific data layout.

Implementations§

Source§

impl ComponentStorage

Source

pub fn id(&self) -> ChunkId

Gets the unique ID of the chunk.

Source

pub fn len(&self) -> usize

Gets the number of entities stored in the chunk.

Source

pub fn capacity(&self) -> usize

Gets the maximum number of entities that can be stored in the chunk.

Source

pub fn is_full(&self) -> bool

Determines if the chunk is full.

Source

pub fn is_empty(&self) -> bool

Determines if the chunk is empty.

Source

pub fn is_allocated(&self) -> bool

Determines if the internal memory for this chunk has been allocated.

Source

pub fn entities(&self) -> &[Entity]

Gets a slice reference containing the IDs of all entities stored in the chunk.

Source

pub fn components( &self, component_type: ComponentTypeId, ) -> Option<&ComponentResourceSet>

Gets a component accessor for the specified component type.

Source

pub fn swap_remove( &mut self, ComponentIndex: ComponentIndex, drop: bool, ) -> Option<Entity>

Removes an entity from the chunk by swapping it with the last entry.

Returns the ID of the entity which was swapped into the removed entity’s position.

Source

pub fn move_entity( &mut self, target: &mut ComponentStorage, index: ComponentIndex, ) -> Option<Entity>

Moves an entity from this chunk into a target chunk, moving all compatable components into the target chunk. Any components left over will be dropped.

Returns the ID of the entity which was swapped into the removed entity’s position.

Source

pub fn writer(&mut self) -> StorageWriter<'_>

Gets mutable references to the internal data of the chunk.

Trait Implementations§

Source§

impl Drop for ComponentStorage

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for ComponentStorage

Source§

impl Sync for ComponentStorage

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

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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, 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> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

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