Struct legion::storage::UnknownComponentWriter [−][src]
pub struct UnknownComponentWriter<'a> { /* fields omitted */ }Expand description
Provides the ability to append new components to the entities in an archetype.
Implementations
Writes the given components into the component storage.
Safety
ptr must point to a valid array of the correct component type of length at least as
long as len.
The data in this array will be memcopied into the world’s internal storage.
If the component type is not Copy, then the caller must ensure that the memory
copied is not accessed until it is re-initialized. It is recommended to immediately
std::mem::forget the source after calling extend_memcopy.
Ensures that the given spare capacity is available in the target storage location.
Calling this function before calling extend_memcopy is not required, but may
avoid additional vector resizes.
pub fn move_archetype_from(
&mut self,
src_archetype: ArchetypeIndex,
src: &mut dyn UnknownComponentStorage
)
pub fn move_archetype_from(
&mut self,
src_archetype: ArchetypeIndex,
src: &mut dyn UnknownComponentStorage
)
Moves all of the components from the given storage location into this writer’s storage.
pub fn move_component_from(
&mut self,
src_archetype: ArchetypeIndex,
src_component: ComponentIndex,
src: &mut dyn UnknownComponentStorage
)
pub fn move_component_from(
&mut self,
src_archetype: ArchetypeIndex,
src_component: ComponentIndex,
src: &mut dyn UnknownComponentStorage
)
Moves a single component from the given storage location into this writer’s storage.
Auto Trait Implementations
impl<'a> !RefUnwindSafe for UnknownComponentWriter<'a>
impl<'a> Send for UnknownComponentWriter<'a>
impl<'a> Sync for UnknownComponentWriter<'a>
impl<'a> Unpin for UnknownComponentWriter<'a>
impl<'a> !UnwindSafe for UnknownComponentWriter<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
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
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
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
