Struct bevy::ecs::storage::Table [−]
pub struct Table { /* fields omitted */ }
Implementations
impl Table
impl Table
pub fn with_capacity(capacity: usize, column_capacity: usize) -> Table
pub fn add_column(&mut self, component_info: &ComponentInfo)
pub unsafe fn swap_remove_unchecked(&mut self, row: usize) -> Option<Entity>
pub unsafe fn swap_remove_unchecked(&mut self, row: usize) -> Option<Entity>
Removes the entity at the given row and returns the entity swapped in to replace it (if an entity was swapped in)
Safety
row
must be in-bounds
pub unsafe fn move_to_and_forget_missing_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
pub unsafe fn move_to_and_forget_missing_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
Moves the row
column values to new_table
, for the columns shared between both tables.
Returns the index of the new row in new_table
and the entity in this table swapped in
to replace it (if an entity was swapped in). missing columns will be “forgotten”. It is
the caller’s responsibility to drop them
Safety
Row must be in-bounds
pub unsafe fn move_to_and_drop_missing_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
pub unsafe fn move_to_and_drop_missing_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
Moves the row
column values to new_table
, for the columns shared between both tables.
Returns the index of the new row in new_table
and the entity in this table swapped in
to replace it (if an entity was swapped in).
Safety
row must be in-bounds
pub unsafe fn move_to_superset_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
pub unsafe fn move_to_superset_unchecked(
&mut self,
row: usize,
new_table: &mut Table
) -> TableMoveResult
Moves the row
column values to new_table
, for the columns shared between both tables.
Returns the index of the new row in new_table
and the entity in this table swapped in
to replace it (if an entity was swapped in).
Safety
row
must be in-bounds. new_table
must contain every component this table has
pub fn get_column(&self, component_id: ComponentId) -> Option<&Column>
pub fn get_column_mut(
&mut self,
component_id: ComponentId
) -> Option<&mut Column>
pub fn has_column(&self, component_id: ComponentId) -> bool
Allocates space for a new entity
Safety
the allocated row must be written to immediately with valid values in each column
pub fn clear(&mut self)
Auto Trait Implementations
impl !RefUnwindSafe for Table
impl UnwindSafe for Table
Blanket Implementations
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn instrument(self, span: Span) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
fn in_current_span(self) -> Instrumented<Self>ⓘNotable traits for Instrumented<T>impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for Instrumented<T> where
T: Future, type Output = <T as Future>::Output;
pub fn vzip(self) -> V
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
where
S: Into<Dispatch>,
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
fn with_current_subscriber(self) -> WithDispatch<Self>ⓘNotable traits for WithDispatch<T>impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
impl<T> Future for WithDispatch<T> where
T: Future, type Output = <T as Future>::Output;
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more