pub struct DataStore<I: Internable> {
items: Vec<Option<I::StoreData>>,
}
Expand description
The data store lives in the frame builder thread. It contains a free-list of items for fast access.
Fields§
§items: Vec<Option<I::StoreData>>
Implementations§
source§impl<I: Internable> DataStore<I>
impl<I: Internable> DataStore<I>
sourcepub fn apply_updates(
&mut self,
update_list: UpdateList<I::Key>,
profile: &mut TransactionProfile,
)
pub fn apply_updates( &mut self, update_list: UpdateList<I::Key>, profile: &mut TransactionProfile, )
Apply any updates from the scene builder thread to this data store.
Trait Implementations§
source§impl<I: Internable> Default for DataStore<I>
impl<I: Internable> Default for DataStore<I>
source§impl<I: Internable> Index<Handle<I>> for DataStore<I>
impl<I: Internable> Index<Handle<I>> for DataStore<I>
Retrieve an item from the store via handle
source§impl<I: Internable> IndexMut<Handle<I>> for DataStore<I>
impl<I: Internable> IndexMut<Handle<I>> for DataStore<I>
Retrieve a mutable item from the store via handle Retrieve an item from the store via handle
source§impl<I> MallocSizeOf for DataStore<I>where
I: MallocSizeOf + Internable,
impl<I> MallocSizeOf for DataStore<I>where
I: MallocSizeOf + Internable,
source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl<I> Freeze for DataStore<I>
impl<I> RefUnwindSafe for DataStore<I>
impl<I> Send for DataStore<I>
impl<I> Sync for DataStore<I>
impl<I> Unpin for DataStore<I>
impl<I> UnwindSafe for DataStore<I>
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
Mutably borrows from an owned value. Read more
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>
Converts
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>
Converts
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