Skip to main content

A2lObject

Trait A2lObject 

Source
pub trait A2lObject<T> {
    // Required methods
    fn get_layout(&self) -> &BlockInfo<T>;
    fn get_layout_mut(&mut self) -> &mut BlockInfo<T>;
    fn reset_location(&mut self);
    fn merge_includes(&mut self);
    fn get_line(&self) -> u32;
}
Expand description

The trait A2lObject is implemented for all a2l objects as well as all objects generated by the a2ml_specification! macro. It gives access to layout and location data which is tracked for each object in an a2l file.

Required Methods§

Source

fn get_layout(&self) -> &BlockInfo<T>

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

Source

fn get_layout_mut(&mut self) -> &mut BlockInfo<T>

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

Implementors§

Source§

impl A2lObject<((u32, bool), (u32, bool))> for A2mlVersion

Source§

impl A2lObject<((u32, bool), (u32, bool))> for Asap2Version

Source§

impl A2lObject<((u32, bool), (u32, bool))> for MaxRefresh

Source§

impl A2lObject<((u32, bool), (u32, bool), (u32, bool), (u32, bool), (u32, bool), (u32, bool), (u32, bool))> for SiExponents

Source§

impl A2lObject<((u32, bool), u32)> for DistOpDim

Source§

impl A2lObject<((u32, bool), u32)> for Identification

Source§

impl A2lObject<((u32, bool), u32)> for NoAxisPtsDim

Source§

impl A2lObject<((u32, bool), u32)> for NoRescaleDim

Source§

impl A2lObject<((u32, bool), u32)> for OffsetDim

Source§

impl A2lObject<((u32, bool), u32)> for Reserved

Source§

impl A2lObject<((u32, bool), u32)> for RipAddrDim

Source§

impl A2lObject<((u32, bool), u32)> for ShiftOpDim

Source§

impl A2lObject<((u32, bool), u32)> for SrcAddrDim

Source§

impl A2lObject<((u32, bool), u32, (u32, bool), u32, u32)> for AxisRescaleDim

Source§

impl A2lObject<((u32, bool), u32, u32, u32)> for AxisPtsDim

Source§

impl A2lObject<((u32, bool), u32, u32, u32)> for FncValues

Source§

impl A2lObject<((u32, bool), ())> for AddrEpk

Source§

impl A2lObject<((u32, bool), ())> for AlignmentByte

Source§

impl A2lObject<((u32, bool), ())> for AlignmentFloat16Ieee

Source§

impl A2lObject<((u32, bool), ())> for AlignmentFloat32Ieee

Source§

impl A2lObject<((u32, bool), ())> for AlignmentFloat64Ieee

Source§

impl A2lObject<((u32, bool), ())> for AlignmentInt64

Source§

impl A2lObject<((u32, bool), ())> for AlignmentLong

Source§

impl A2lObject<((u32, bool), ())> for AlignmentWord

Source§

impl A2lObject<((u32, bool), ())> for ArraySize

Source§

impl A2lObject<((u32, bool), ())> for BitMask

Source§

impl A2lObject<((u32, bool), ())> for DataSize

Source§

impl A2lObject<((u32, bool), ())> for EcuAddress

Source§

impl A2lObject<((u32, bool), ())> for EcuAddressExtension

Source§

impl A2lObject<((u32, bool), ())> for EcuCalibrationOffset

Source§

impl A2lObject<((u32, bool), ())> for ErrorMask

Source§

impl A2lObject<((u32, bool), ())> for FixNoAxisPtsDim

Source§

impl A2lObject<((u32, bool), ())> for LeftShift

Source§

impl A2lObject<((u32, bool), ())> for NoOfInterfaces

Source§

impl A2lObject<((u32, bool), ())> for Number

Source§

impl A2lObject<((u32, bool), ())> for RightShift

Source§

impl A2lObject<(u32, (u32, bool))> for CalibrationMethod

Source§

impl A2lObject<(u32, (u32, bool))> for Overwrite

Source§

impl A2lObject<(u32, (u32, bool), (u32, bool), [(u32, bool); 5])> for MemoryLayout

Source§

impl A2lObject<(u32, u32)> for CoeffsLinear

Source§

impl A2lObject<(u32, u32)> for CombinationStruct

Source§

impl A2lObject<(u32, u32)> for ExtendedLimits

Source§

impl A2lObject<(u32, u32)> for Function

Source§

impl A2lObject<(u32, u32)> for Group

Source§

impl A2lObject<(u32, u32)> for Limits

Source§

impl A2lObject<(u32, u32)> for Module

Source§

impl A2lObject<(u32, u32)> for Project

Source§

impl A2lObject<(u32, u32)> for SystemConstant

Source§

impl A2lObject<(u32, u32)> for TabEntryStruct

Source§

impl A2lObject<(u32, u32)> for UnitConversion

Source§

impl A2lObject<(u32, u32)> for ValuePairsStruct

Source§

impl A2lObject<(u32, u32, (u32, bool))> for FixAxisPar

Source§

impl A2lObject<(u32, u32, (u32, bool))> for FixAxisParDist

Source§

impl A2lObject<(u32, u32, (u32, bool))> for StructureComponent

Source§

impl A2lObject<(u32, u32, (u32, bool))> for TypedefBlob

Source§

impl A2lObject<(u32, u32, (u32, bool))> for TypedefStructure

Source§

impl A2lObject<(u32, u32, (u32, bool), (u32, bool))> for Blob

Source§

impl A2lObject<(u32, u32, (u32, bool), (u32, bool))> for Frame

Source§

impl A2lObject<(u32, u32, (u32, bool), u32, u32, u32, u32, (u32, bool), u32, u32)> for AxisPts

Source§

impl A2lObject<(u32, u32, (u32, bool), Vec<u32>)> for CompuVtabRange

Source§

impl A2lObject<(u32, u32, u32)> for ValueTriplesStruct

Source§

impl A2lObject<(u32, u32, u32, (u32, bool))> for Instance

Source§

impl A2lObject<(u32, u32, u32, (u32, bool), u32, u32)> for AxisDescr

Source§

impl A2lObject<(u32, u32, u32, (u32, bool), u32, u32, u32, u32, u32)> for Characteristic

Source§

impl A2lObject<(u32, u32, u32, (u32, bool), Vec<u32>)> for CompuTab

Source§

impl A2lObject<(u32, u32, u32, (u32, bool), Vec<u32>)> for CompuVtab

Source§

impl A2lObject<(u32, u32, u32, u32)> for Unit

Source§

impl A2lObject<(u32, u32, u32, u32, (u32, bool), u32, u32)> for Transformer

Source§

impl A2lObject<(u32, u32, u32, u32, (u32, bool), u32, u32, u32)> for Measurement

Source§

impl A2lObject<(u32, u32, u32, u32, (u32, bool), u32, u32, u32)> for TypedefMeasurement

Source§

impl A2lObject<(u32, u32, u32, u32, u32)> for CompuMethod

Source§

impl A2lObject<(u32, u32, u32, u32, u32, (u32, bool), (u32, bool), [(u32, bool); 5])> for MemorySegment

Source§

impl A2lObject<(u32, u32, u32, u32, u32, u32)> for Coeffs

Source§

impl A2lObject<(u32, u32, u32, u32, u32, u32, (u32, bool), u32, u32)> for TypedefAxis

Source§

impl A2lObject<(u32, u32, u32, u32, u32, u32, u32, u32)> for TypedefCharacteristic

Source§

impl A2lObject<(u32, u32, Vec<u32>)> for VarCriterion

Source§

impl A2lObject<(u32, ())> for A2ml

Source§

impl A2lObject<(u32, ())> for AddressType

Source§

impl A2lObject<(u32, ())> for AnnotationLabel

Source§

impl A2lObject<(u32, ())> for AnnotationOrigin

Source§

impl A2lObject<(u32, ())> for ArComponent

Source§

impl A2lObject<(u32, ())> for ArPrototypeOf

Source§

impl A2lObject<(u32, ())> for AxisPtsRef

Source§

impl A2lObject<(u32, ())> for ByteOrder

Source§

impl A2lObject<(u32, ())> for CalibrationAccess

Source§

impl A2lObject<(u32, ())> for CalibrationHandleText

Source§

impl A2lObject<(u32, ())> for ComparisonQuantity

Source§

impl A2lObject<(u32, ())> for CompuTabRef

Source§

impl A2lObject<(u32, ())> for Conversion

Source§

impl A2lObject<(u32, ())> for CpuType

Source§

impl A2lObject<(u32, ())> for CurveAxisRef

Source§

impl A2lObject<(u32, ())> for Customer

Source§

impl A2lObject<(u32, ())> for CustomerNo

Source§

impl A2lObject<(u32, ())> for DefaultValue

Source§

impl A2lObject<(u32, ())> for DefaultValueNumeric

Source§

impl A2lObject<(u32, ())> for Deposit

Source§

impl A2lObject<(u32, ())> for DisplayIdentifier

Source§

impl A2lObject<(u32, ())> for Ecu

Source§

impl A2lObject<(u32, ())> for Encoding

Source§

impl A2lObject<(u32, ())> for Epk

Source§

impl A2lObject<(u32, ())> for Format

Source§

impl A2lObject<(u32, ())> for Formula

Source§

impl A2lObject<(u32, ())> for FormulaInv

Source§

impl A2lObject<(u32, ())> for FunctionVersion

Source§

impl A2lObject<(u32, ())> for Header

Source§

impl A2lObject<(u32, ())> for InputQuantity

Source§

impl A2lObject<(u32, ())> for Layout

Source§

impl A2lObject<(u32, ())> for MaxGrad

Source§

impl A2lObject<(u32, ())> for ModCommon

Source§

impl A2lObject<(u32, ())> for ModPar

Source§

impl A2lObject<(u32, ())> for Monotony

Source§

impl A2lObject<(u32, ())> for PhoneNo

Source§

impl A2lObject<(u32, ())> for PhysUnit

Source§

impl A2lObject<(u32, ())> for ProjectNo

Source§

impl A2lObject<(u32, ())> for RecordLayout

Source§

impl A2lObject<(u32, ())> for RefMemorySegment

Source§

impl A2lObject<(u32, ())> for RefUnit

Source§

impl A2lObject<(u32, ())> for SRecLayout

Source§

impl A2lObject<(u32, ())> for StatusStringRef

Source§

impl A2lObject<(u32, ())> for StepSize

Source§

impl A2lObject<(u32, ())> for Supplier

Source§

impl A2lObject<(u32, ())> for User

Source§

impl A2lObject<(u32, ())> for UserRights

Source§

impl A2lObject<(u32, ())> for VarMeasurement

Source§

impl A2lObject<(u32, ())> for VarNaming

Source§

impl A2lObject<(u32, ())> for VarSelectionCharacteristic

Source§

impl A2lObject<(u32, ())> for VarSeparator

Source§

impl A2lObject<(u32, ())> for Version

Source§

impl A2lObject<(u32, Vec<u32>)> for DependentCharacteristic

Source§

impl A2lObject<(u32, Vec<u32>)> for VarCharacteristic

Source§

impl A2lObject<(u32, Vec<u32>)> for VirtualCharacteristic

Source§

impl A2lObject<(Vec<(u32, bool)>, ())> for CalibrationHandle

Source§

impl A2lObject<(Vec<(u32, bool)>, ())> for MatrixDim

Source§

impl A2lObject<(Vec<(u32, bool)>, ())> for VarAddress

Source§

impl A2lObject<(Vec<u32>, ())> for AnnotationText

Source§

impl A2lObject<(Vec<u32>, ())> for DefCharacteristic

Source§

impl A2lObject<(Vec<u32>, ())> for FixAxisParList

Source§

impl A2lObject<(Vec<u32>, ())> for FrameMeasurement

Source§

impl A2lObject<(Vec<u32>, ())> for FunctionList

Source§

impl A2lObject<(Vec<u32>, ())> for InMeasurement

Source§

impl A2lObject<(Vec<u32>, ())> for LocMeasurement

Source§

impl A2lObject<(Vec<u32>, ())> for MapList

Source§

impl A2lObject<(Vec<u32>, ())> for OutMeasurement

Source§

impl A2lObject<(Vec<u32>, ())> for RefCharacteristic

Source§

impl A2lObject<(Vec<u32>, ())> for RefGroup

Source§

impl A2lObject<(Vec<u32>, ())> for RefMeasurement

Source§

impl A2lObject<(Vec<u32>, ())> for SubFunction

Source§

impl A2lObject<(Vec<u32>, ())> for SubGroup

Source§

impl A2lObject<(Vec<u32>, ())> for TransformerInObjects

Source§

impl A2lObject<(Vec<u32>, ())> for TransformerOutObjects

Source§

impl A2lObject<(Vec<u32>, ())> for VarForbiddenComb

Source§

impl A2lObject<(Vec<u32>, ())> for Virtual

Source§

impl A2lObject<()> for A2lFile

Source§

impl A2lObject<()> for Annotation

Source§

impl A2lObject<()> for BitOperation

Source§

impl A2lObject<()> for ConsistentExchange

Source§

impl A2lObject<()> for Discrete

Source§

impl A2lObject<()> for GuardRails

Source§

impl A2lObject<()> for IfData

Source§

impl A2lObject<()> for ReadOnly

Source§

impl A2lObject<()> for ReadWrite

Source§

impl A2lObject<()> for Root

Source§

impl A2lObject<()> for SignExtend

Source§

impl A2lObject<()> for StaticAddressOffsets

Source§

impl A2lObject<()> for StaticRecordLayout

Source§

impl A2lObject<()> for VariantCoding