Struct SimulationBox

Source
pub struct SimulationBox<T> { /* private fields */ }
Expand description

It represents the boxed Simulation computation.

Trait Implementations§

Source§

impl<T> Simulation for SimulationBox<T>

Source§

type Item = T

The type of the item that is returned in within the simulation run.
Source§

fn into_boxed(self) -> SimulationBox<Self::Item>
where Self: Sized + 'static,

Convert into a boxed value.
Source§

fn into_event(self) -> SimulationIntoEvent<Self>
where Self: Sized,

Convert into the Event computation.
Source§

fn into_process(self) -> SimulationIntoProcess<Self>
where Self: Sized,

Convert to the Process computation.
Source§

fn into_composite(self) -> SimulationIntoComposite<Self>
where Self: Sized,

Convert into the Composite computation.
Source§

fn and_then<U, F>(self, f: F) -> AndThen<Self, U, F>
where Self: Sized, U: Simulation, F: FnOnce(Self::Item) -> U,

Bind the current computation with its continuation within the resulting computation.
Source§

fn map<B, F>(self, f: F) -> Map<Self, B, F>
where Self: Sized, F: FnOnce(Self::Item) -> B,

Map the current computation using the specified transform.
Source§

fn zip<U>(self, other: U) -> Zip<Self, U>
where Self: Sized, U: Simulation,

Zip the current computation with another one within the resulting computation.
Source§

fn ap<U, B>(self, other: U) -> Ap<Self, U, B>
where Self: Sized, Self::Item: FnOnce(U::Item) -> B, U: Simulation,

The function application.
Source§

fn finally<U>(self, finalization: U) -> Finally<Self, U>
where Self: Sized, U: Simulation<Item = ()>,

Finalize the current computation regardless of canceling it or not.
Source§

fn run(self, specs: Specs) -> Result<Self::Item>
where Self: Sized,

Run the simulation.
Source§

fn run_by_index( self, specs: Specs, run_index: usize, run_count: usize, ) -> Result<Self::Item>
where Self: Sized,

Run the simulation by index.

Auto Trait Implementations§

§

impl<T> Freeze for SimulationBox<T>

§

impl<T> !RefUnwindSafe for SimulationBox<T>

§

impl<T> !Send for SimulationBox<T>

§

impl<T> !Sync for SimulationBox<T>

§

impl<T> Unpin for SimulationBox<T>

§

impl<T> !UnwindSafe for SimulationBox<T>

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<M> IntoSimulation for M
where M: Simulation,

Source§

type Simulation = M

The target computation.
Source§

type Item = <M as Simulation>::Item

The type of item that is returned by the computation.
Source§

fn into_simulation(self) -> <M as IntoSimulation>::Simulation

Convert to the Simulation computation.
Source§

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

Source§

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>,

Source§

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V