[][src]Struct lrl_test_compiler::timeline::sensors::SensorTimeline

pub struct SensorTimeline {
    pub endpoints: Vec<u32>,
    pub range_constraints: Vec<Vec<SensorConstraint>>,
    pub endpoint_constraints: Vec<Vec<SensorConstraint>>,
}

Fields

endpoints: Vec<u32>range_constraints: Vec<Vec<SensorConstraint>>endpoint_constraints: Vec<Vec<SensorConstraint>>

Implementations

impl SensorTimeline[src]

pub fn new() -> Self[src]

pub fn add_sensor_range(
    &mut self,
    statement_start_time: u32,
    statement_end_time: u32,
    constraint: &SensorConstraint
) -> CompilerResult<()>
[src]

Adds all provided sensor constraint into the sensor timeline with the given start and end time and inserts endpoints if necessary

fn add_sensor_instant(
    &mut self,
    statement_time: u32,
    constraint: &SensorConstraint
) -> CompilerResult<()>
[src]

Adds all provided sensor constraints into the sensor timeline at the given time and inserts an endpoint if necessary

fn split_range(&mut self, idx_to_split: usize, time_of_split: u32)[src]

Splits a range between two timeline endpoints by inserting the given time_of_split into the endpoints vector at idx_to_split. Clones the range constraints for the range that was split, so they exist on both sides of the split. Empty endpoint constraints vec is inserted at idx_to_split.

pub fn reduce(&mut self) -> CompilerResult<()>[src]

Reduce sensor constraints throughout the sensor timeline to combine constraints active at the same time for the same sensor

fn reduce_two_constraints(
    &self,
    constraint_opt1: Option<SensorConstraint>,
    constraint_opt2: Option<SensorConstraint>
) -> CompilerResult<SensorConstraint>
[src]

Reduce the two provided sensor constraints into a single sensor constraint or provide a compiler error

Trait Implementations

impl Debug for SensorTimeline[src]

impl PartialEq<SensorTimeline> for SensorTimeline[src]

impl StructuralPartialEq for SensorTimeline[src]

Auto Trait Implementations

impl RefUnwindSafe for SensorTimeline

impl Send for SensorTimeline

impl Sync for SensorTimeline

impl Unpin for SensorTimeline

impl UnwindSafe for SensorTimeline

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<Src, Dst> LosslessTryInto<Dst> for Src where
    Dst: LosslessTryFrom<Src>, 
[src]

impl<Src, Dst> LossyInto<Dst> for Src where
    Dst: LossyFrom<Src>, 
[src]

impl<T> Same<T> for T[src]

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]