Struct a2lfile::Module

source ·
pub struct Module {
Show 28 fields pub name: String, pub long_identifier: String, pub a2ml: Option<A2ml>, pub axis_pts: Vec<AxisPts>, pub blob: Vec<Blob>, pub characteristic: Vec<Characteristic>, pub compu_method: Vec<CompuMethod>, pub compu_tab: Vec<CompuTab>, pub compu_vtab: Vec<CompuVtab>, pub compu_vtab_range: Vec<CompuVtabRange>, pub frame: Vec<Frame>, pub function: Vec<Function>, pub group: Vec<Group>, pub if_data: Vec<IfData>, pub instance: Vec<Instance>, pub measurement: Vec<Measurement>, pub mod_common: Option<ModCommon>, pub mod_par: Option<ModPar>, pub record_layout: Vec<RecordLayout>, pub transformer: Vec<Transformer>, pub typedef_axis: Vec<TypedefAxis>, pub typedef_blob: Vec<TypedefBlob>, pub typedef_characteristic: Vec<TypedefCharacteristic>, pub typedef_measurement: Vec<TypedefMeasurement>, pub typedef_structure: Vec<TypedefStructure>, pub unit: Vec<Unit>, pub user_rights: Vec<UserRights>, pub variant_coding: Option<VariantCoding>, /* private fields */
}
Expand description

The MODULE keyword describes a complete ECU or device with all adjustable and measurement objects, conversion methods and functions

At least one module must be defined within the PROJECT

Fields§

§name: String§long_identifier: String§a2ml: Option<A2ml>§axis_pts: Vec<AxisPts>§blob: Vec<Blob>§characteristic: Vec<Characteristic>§compu_method: Vec<CompuMethod>§compu_tab: Vec<CompuTab>§compu_vtab: Vec<CompuVtab>§compu_vtab_range: Vec<CompuVtabRange>§frame: Vec<Frame>§function: Vec<Function>§group: Vec<Group>§if_data: Vec<IfData>§instance: Vec<Instance>§measurement: Vec<Measurement>§mod_common: Option<ModCommon>§mod_par: Option<ModPar>§record_layout: Vec<RecordLayout>§transformer: Vec<Transformer>§typedef_axis: Vec<TypedefAxis>§typedef_blob: Vec<TypedefBlob>§typedef_characteristic: Vec<TypedefCharacteristic>§typedef_measurement: Vec<TypedefMeasurement>§typedef_structure: Vec<TypedefStructure>§unit: Vec<Unit>§user_rights: Vec<UserRights>§variant_coding: Option<VariantCoding>

Implementations§

source§

impl Module

source

pub fn new(name: String, long_identifier: String) -> Self

source§

impl Module

source

pub fn build_namemap(&self) -> ModuleNameMap<'_>

build a map of all named elements inside the module

source

pub fn merge(&mut self, other: &mut Module)

merge another module with this module

Any elements in other that are not present in this module will be moved over. The other module will typically be empty at the end of the merge.

Trait Implementations§

source§

impl A2lObject<(u32, u32)> for Module

source§

fn get_layout(&self) -> &BlockInfo<(u32, u32)>

get a reference to the BlockInfo that describes the layout of the a2l object
source§

fn get_layout_mut(&mut self) -> &mut BlockInfo<(u32, u32)>

get a mutable reference to the BlockInfo that describes the layout of the a2l object
source§

fn reset_location(&mut self)

reset the location information on the a2l object. It will be treated like a new object when writing a file
source§

fn merge_includes(&mut self)

reset the reference to an include file on this objct and its children. This causes the object to be written into the output file instead of referenced through /include “filename”
source§

fn get_line(&self) -> u32

get the source line number from which the current a2l object was loaded. Returns 0 if the object was newly created and not loaded from a file
source§

impl A2lObjectName for Module

source§

fn get_name(&self) -> &str

get the name of an a2l object. this trait is only implemented for those objects that have names, which is a subset of all objects
source§

impl Clone for Module

source§

fn clone(&self) -> Module

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Module

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Module

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

§

impl Freeze for Module

§

impl RefUnwindSafe for Module

§

impl Send for Module

§

impl Sync for Module

§

impl Unpin for Module

§

impl UnwindSafe for Module

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.