Struct legion::storage::UnknownComponentWriter
source · [−]pub struct UnknownComponentWriter<'a> { /* private fields */ }Expand description
Provides the ability to append new components to the entities in an archetype.
Implementations
sourceimpl<'a> UnknownComponentWriter<'a>
impl<'a> UnknownComponentWriter<'a>
sourcepub unsafe fn extend_memcopy_raw(&mut self, ptr: *const u8, len: usize)
pub unsafe fn extend_memcopy_raw(&mut self, ptr: *const u8, len: usize)
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.
sourcepub fn ensure_capacity(&mut self, space: usize)
pub fn ensure_capacity(&mut self, space: usize)
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.
sourcepub 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.
sourcepub 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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcepub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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
sourcepub 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
sourcepub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
sourcepub 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