pub trait Dos {
type Input;
type Output;
// Required methods
fn outputs(&mut self) -> Option<Vec<IO<Self::Output>>>;
fn inputs(
&mut self,
data: Option<Vec<IO<Self::Input>>>,
) -> Result<&mut Self, DOSIOSError>;
// Provided methods
fn step(&mut self) -> Result<&mut Self, DOSIOSError>
where Self: Sized + Iterator { ... }
fn in_step_out(
&mut self,
data: Option<Vec<IO<Self::Input>>>,
) -> Result<Option<Vec<IO<Self::Output>>>, DOSIOSError>
where Self: Sized + Iterator { ... }
}Expand description
Dynamic Optics Simulation interface
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn step(&mut self) -> Result<&mut Self, DOSIOSError>
fn step(&mut self) -> Result<&mut Self, DOSIOSError>
Invokes the next method of Self
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.