Struct a2lfile::ModuleNameMap
source · pub struct ModuleNameMap<'a> {
pub compu_method: HashMap<String, &'a CompuMethod>,
pub compu_tab: HashMap<String, NameMapCompuTab<'a>>,
pub frame: HashMap<String, &'a Frame>,
pub function: HashMap<String, &'a Function>,
pub group: HashMap<String, &'a Group>,
pub memory_segment: HashMap<String, &'a MemorySegment>,
pub object: HashMap<String, NameMapObject<'a>>,
pub record_layout: HashMap<String, &'a RecordLayout>,
pub transformer: HashMap<String, &'a Transformer>,
pub typedef: HashMap<String, NameMapTypedef<'a>>,
pub unit: HashMap<String, &'a Unit>,
pub variant: HashMap<String, &'a VarCriterion>,
}Expand description
ModuleNameMap collects references to all items with a Module into HashMaps, making it possible to access them all by name.
There are several name spaces per module, each stored in a different HashMap in the ModuleNameMap:
object:CHARACTERISTIC,MEASUREMENT,AXIS_PTS,BLOB,INSTANCEcompu_method:COMPU_METHODcompu_tab:COMPU_VTAB,COMPU_VTAB_RANGE,COMPU_TABframe:FRAMEfunction:FUNCTIONgroup:GROUPmemory_segment:MEMORY_SEGMENTrecord_layout:RECORD_LAYOUTtransformer:TRANSFORMERtypedef:TYPEDEF_AXIS,TYPEDEF_BLOB,TYPEDEF_CHARACTERISTIC,TYPEDEF_INSTANCE,TYPEDEF_MEASUREMENTunit:UNITvariant:VARIANT
While the ModuleNameMap is holding these references, the borrow checker will prevent any of these items from being modified.
Fields§
§compu_method: HashMap<String, &'a CompuMethod>§compu_tab: HashMap<String, NameMapCompuTab<'a>>§frame: HashMap<String, &'a Frame>§function: HashMap<String, &'a Function>§group: HashMap<String, &'a Group>§memory_segment: HashMap<String, &'a MemorySegment>§object: HashMap<String, NameMapObject<'a>>§record_layout: HashMap<String, &'a RecordLayout>§transformer: HashMap<String, &'a Transformer>§typedef: HashMap<String, NameMapTypedef<'a>>§unit: HashMap<String, &'a Unit>§variant: HashMap<String, &'a VarCriterion>Implementations§
Trait Implementations§
source§impl<'a> Debug for ModuleNameMap<'a>
impl<'a> Debug for ModuleNameMap<'a>
source§impl<'a> PartialEq for ModuleNameMap<'a>
impl<'a> PartialEq for ModuleNameMap<'a>
source§fn eq(&self, other: &ModuleNameMap<'a>) -> bool
fn eq(&self, other: &ModuleNameMap<'a>) -> bool
This method tests for
self and other values to be equal, and is used
by ==.impl<'a> StructuralPartialEq for ModuleNameMap<'a>
Auto Trait Implementations§
impl<'a> Freeze for ModuleNameMap<'a>
impl<'a> RefUnwindSafe for ModuleNameMap<'a>
impl<'a> Send for ModuleNameMap<'a>
impl<'a> Sync for ModuleNameMap<'a>
impl<'a> Unpin for ModuleNameMap<'a>
impl<'a> UnwindSafe for ModuleNameMap<'a>
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