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
,INSTANCE
compu_method
:COMPU_METHOD
compu_tab
:COMPU_VTAB
,COMPU_VTAB_RANGE
,COMPU_TAB
frame
:FRAME
function
:FUNCTION
group
:GROUP
memory_segment
:MEMORY_SEGMENT
record_layout
:RECORD_LAYOUT
transformer
:TRANSFORMER
typedef
:TYPEDEF_AXIS
,TYPEDEF_BLOB
,TYPEDEF_CHARACTERISTIC
,TYPEDEF_INSTANCE
,TYPEDEF_MEASUREMENT
unit
:UNIT
variant
: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