Struct legion::storage::ComponentWriter
source · [−]pub struct ComponentWriter<'a, T: Component> { /* private fields */ }Expand description
Provides the ability to append new components to the entities in an archetype.
Implementations
sourceimpl<'a, T: Component> ComponentWriter<'a, T>
impl<'a, T: Component> ComponentWriter<'a, T>
sourcepub unsafe fn extend_memcopy(&mut self, ptr: *const T, len: usize)
pub unsafe fn extend_memcopy(&mut self, ptr: *const T, len: usize)
Writes the given components into the component storage.
Safety
ptr must point to a valid array of T 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.
Auto Trait Implementations
impl<'a, T> RefUnwindSafe for ComponentWriter<'a, T> where
<T as Component>::Storage: RefUnwindSafe,
impl<'a, T> Send for ComponentWriter<'a, T>
impl<'a, T> Sync for ComponentWriter<'a, T>
impl<'a, T> Unpin for ComponentWriter<'a, T>
impl<'a, T> !UnwindSafe for ComponentWriter<'a, T>
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