Struct basic_dsp_vector::combined_ops::MultiOperation2[][src]

pub struct MultiOperation2<S, T, NO1, DO1, NO2, DO2> where
    S: ToSlice<T>,
    T: RealNumber,
    NO1: NumberSpace,
    DO1: Domain,
    NO2: NumberSpace,
    DO2: Domain
{ /* fields omitted */ }

A multi operation which holds a vector and records all changes which need to be done to the vectors. By calling get on the struct all operations will be executed in one run.

Methods

impl<S, T, NO1, DO1, NO2, DO2> MultiOperation2<S, T, NO1, DO1, NO2, DO2> where
    S: ToSliceMut<T>,
    DspVec<S, T, NO1, DO1>: RededicateForceOps<DspVec<S, T, RealOrComplexData, TimeOrFrequencyData>>,
    DspVec<S, T, NO2, DO2>: RededicateForceOps<DspVec<S, T, RealOrComplexData, TimeOrFrequencyData>>,
    T: RealNumber,
    NO1: NumberSpace,
    DO1: Domain,
    NO2: NumberSpace,
    DO2: Domain
[src]

Holds two vectors and records all operations which shall be done on the vectors. A call to get then runs all recorded operations on the vectors and returns them. See the modules description for why this can be beneficial.

Executes all recorded operations on the stored vector.

Adds new operations which will be executed with the next call to get

As a background: The function operation will be executed immediately. It only operated on Identifier types and these serve as placeholder for vectors. Every operation done to an Identifier is recorded and will be executed on vectors if get is called.

Allows to directly push an Operation enum to a MultiOperation1. This mainly exists as interop between Rust and other languages.

Auto Trait Implementations

impl<S, T, NO1, DO1, NO2, DO2> Send for MultiOperation2<S, T, NO1, DO1, NO2, DO2> where
    DO1: Send,
    DO2: Send,
    NO1: Send,
    NO2: Send,
    S: Send

impl<S, T, NO1, DO1, NO2, DO2> Sync for MultiOperation2<S, T, NO1, DO1, NO2, DO2> where
    DO1: Sync,
    DO2: Sync,
    NO1: Sync,
    NO2: Sync,
    S: Sync