pub struct AttributeRegistry {
attributes_by_id: Vec<AttributeRef>,
attributes_by_key: FxHashMap<Identifier, usize>,
tags: RegistryTags,
allows_registering: bool,
}Fields§
§attributes_by_id: Vec<AttributeRef>§attributes_by_key: FxHashMap<Identifier, usize>§allows_registering: boolImplementations§
Source§impl AttributeRegistry
impl AttributeRegistry
pub fn new() -> Self
Sourcepub fn register(&mut self, attribute: AttributeRef)
pub fn register(&mut self, attribute: AttributeRef)
Registers a new attribute
Sourcepub fn replace(&mut self, attribute: AttributeRef, id: usize) -> bool
pub fn replace(&mut self, attribute: AttributeRef, id: usize) -> bool
Replaces an attribute at a given index
pub fn iter(&self) -> impl Iterator<Item = (usize, AttributeRef)> + '_
Trait Implementations§
Source§impl Default for AttributeRegistry
impl Default for AttributeRegistry
Source§impl RegistryExt for AttributeRegistry
impl RegistryExt for AttributeRegistry
type Entry = Attribute
fn freeze(&mut self)
fn by_id(&self, id: usize) -> Option<&'static Attribute>
fn by_key(&self, key: &Identifier) -> Option<&'static Attribute>
fn id_from_key(&self, key: &Identifier) -> Option<usize>
fn len(&self) -> usize
fn is_empty(&self) -> bool
Source§impl TaggedRegistryExt for AttributeRegistry
impl TaggedRegistryExt for AttributeRegistry
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 AttributeRegistry
impl RefUnwindSafe for AttributeRegistry
impl Send for AttributeRegistry
impl Sync for AttributeRegistry
impl Unpin for AttributeRegistry
impl UnsafeUnpin for AttributeRegistry
impl UnwindSafe for AttributeRegistry
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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> ⓘ
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 moreWraps this value in an
Arc<SyncMutex<>>