pub struct ItemRegistry {
items_by_id: Vec<ItemRef>,
items_by_key: FxHashMap<Identifier, usize>,
tags: FxHashMap<Identifier, Vec<Identifier>>,
allows_registering: bool,
}Fields§
§items_by_id: Vec<ItemRef>§items_by_key: FxHashMap<Identifier, usize>§allows_registering: boolImplementations§
Trait Implementations§
Source§impl Default for ItemRegistry
impl Default for ItemRegistry
Source§impl RegistryExt for ItemRegistry
impl RegistryExt for ItemRegistry
type Entry = Item
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static Item>
fn by_key(&self, key: &Identifier) -> Option<&'static Item>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Source§impl TaggedRegistryExt for ItemRegistry
impl TaggedRegistryExt for ItemRegistry
fn register_tag(&mut self, tag: Identifier, keys: &[&'static str])
fn modify_tag( &mut self, tag: &Identifier, f: impl FnOnce(Vec<Identifier>) -> Vec<Identifier>, )
fn is_in_tag(&self, entry: &Self::Entry, tag: &Identifier) -> bool
fn get_tag(&self, tag: &Identifier) -> Option<Vec<&'static Self::Entry>>
fn iter_tag( &self, tag: &Identifier, ) -> impl Iterator<Item = &'static Self::Entry> + '_
fn tag_keys(&self) -> impl Iterator<Item = &Identifier> + '_
Auto Trait Implementations§
impl Freeze for ItemRegistry
impl RefUnwindSafe for ItemRegistry
impl Send for ItemRegistry
impl Sync for ItemRegistry
impl Unpin for ItemRegistry
impl UnsafeUnpin for ItemRegistry
impl UnwindSafe for ItemRegistry
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