pub struct ComponentWriter<'a> { /* private fields */ }Expand description
Provides methods adding or removing components from a component vec.
Implementations§
Source§impl<'a> ComponentWriter<'a>
impl<'a> ComponentWriter<'a>
Sourcepub unsafe fn push_raw(&mut self, components: NonNull<u8>, count: usize)
pub unsafe fn push_raw(&mut self, components: NonNull<u8>, count: usize)
Pushes new components onto the end of the vec.
§Safety
Ensure the components pointed to by components are representative
of the component types stored in the vec.
This function will copy all elements into the chunk. If the source is not Copy,
the caller must then mem::forget the source such that the destructor does not run
on the original data.
§Panics
Will panic when an internal u64 counter overflows. It will happen in 50000 years if you do 10000 mutations a millisecond.
Sourcepub unsafe fn push<T: Component>(&mut self, components: &[T])
pub unsafe fn push<T: Component>(&mut self, components: &[T])
Pushes new components onto the end of the vec.
§Safety
Ensure that the type T is representative of the component types stored in the vec.
This function will copy all elements of T into the chunk. If T is not Copy,
the caller must then mem::forget the source such that the destructor does not run
on the original data.
Sourcepub fn swap_remove(&mut self, index: usize, drop: bool)
pub fn swap_remove(&mut self, index: usize, drop: bool)
Removes the component at the specified index by swapping it with the last component.
Sourcepub unsafe fn drop_in_place(&mut self, ComponentIndex: ComponentIndex)
pub unsafe fn drop_in_place(&mut self, ComponentIndex: ComponentIndex)
Drops the component stored at index without moving any other data or
altering the number of elements.
§Safety
Ensure that this function is only ever called once on a given index.
Auto Trait Implementations§
impl<'a> Freeze for ComponentWriter<'a>
impl<'a> !RefUnwindSafe for ComponentWriter<'a>
impl<'a> !Send for ComponentWriter<'a>
impl<'a> !Sync for ComponentWriter<'a>
impl<'a> Unpin for ComponentWriter<'a>
impl<'a> !UnwindSafe for ComponentWriter<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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