pub struct SpecLookupTable {
pub symbol_to_spec: HashMap<SymbolId, u32>,
pub name_to_group: HashMap<String, u32>,
pub group_to_specs: Vec<SmallVec<[u32; 8]>>,
}Expand description
Inverted indices for O(1) lookups.
Fields§
§symbol_to_spec: HashMap<SymbolId, u32>SymbolId → SpecAlias index (for specs with resolved alias_id)
name_to_group: HashMap<String, u32>Group name → Group index
group_to_specs: Vec<SmallVec<[u32; 8]>>Group index → SpecAlias indices (inverted BelongsTo)
Trait Implementations§
Source§impl Clone for SpecLookupTable
impl Clone for SpecLookupTable
Source§fn clone(&self) -> SpecLookupTable
fn clone(&self) -> SpecLookupTable
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SpecLookupTable
impl Debug for SpecLookupTable
Source§impl Default for SpecLookupTable
impl Default for SpecLookupTable
Source§fn default() -> SpecLookupTable
fn default() -> SpecLookupTable
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SpecLookupTable
impl<'de> Deserialize<'de> for SpecLookupTable
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for SpecLookupTable
impl RefUnwindSafe for SpecLookupTable
impl Send for SpecLookupTable
impl Sync for SpecLookupTable
impl Unpin for SpecLookupTable
impl UnsafeUnpin for SpecLookupTable
impl UnwindSafe for SpecLookupTable
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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