Struct bevy_ecs::storage::BlobVec[][src]

pub struct BlobVec { /* fields omitted */ }

Implementations

impl BlobVec[src]

pub fn new(
    item_layout: Layout,
    drop: unsafe fn(_: *mut u8),
    capacity: usize
) -> BlobVec
[src]

pub fn len(&self) -> usize[src]

pub fn is_empty(&self) -> bool[src]

pub fn capacity(&self) -> usize[src]

pub fn reserve(&mut self, amount: usize)[src]

pub unsafe fn set_unchecked(&self, index: usize, value: *mut u8)[src]

Safety

index must be in bounds Allows aliased mutable access to index’s data. Caller must ensure this does not happen

pub unsafe fn push_uninit(&mut self) -> usize[src]

increases the length by one (and grows the vec if needed) with uninitialized memory and returns the index

Safety

the newly allocated space must be immediately populated with a valid value

pub unsafe fn set_len(&mut self, len: usize)[src]

Safety

len must be <= capacity. if length is decreased, “out of bounds” items must be dropped. Newly added items must be immediately populated with valid values and length must be increased. For better unwind safety, call BlobVec::set_len after populating a new value.

pub unsafe fn swap_remove_and_forget_unchecked(
    &mut self,
    index: usize
) -> *mut u8
[src]

Performs a “swap remove” at the given index, which removes the item at index and moves the last item in the BlobVec to index (if index is not the last item). It is the caller’s responsibility to drop the returned pointer, if that is desirable.

Safety

It is the caller’s responsibility to ensure that index is < self.len() Callers should only access the returned pointer immediately after calling this function.

pub unsafe fn swap_remove_and_drop_unchecked(&mut self, index: usize)[src]

Safety

index must be in-bounds

pub unsafe fn get_unchecked(&self, index: usize) -> *mut u8[src]

Safety

It is the caller’s responsibility to ensure that index is < self.len()

pub unsafe fn get_ptr(&self) -> NonNull<u8>[src]

Gets a pointer to the start of the vec

Safety

must ensure rust mutability rules are not violated

pub fn clear(&mut self)[src]

Trait Implementations

impl Debug for BlobVec[src]

impl Drop for BlobVec[src]

Auto Trait Implementations

impl !RefUnwindSafe for BlobVec

impl !Send for BlobVec

impl !Sync for BlobVec

impl Unpin for BlobVec

impl UnwindSafe for BlobVec

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,