pub struct SplitAndDoubleOp { /* private fields */ }
Trait Implementations§
Source§impl Debug for SplitAndDoubleOp
impl Debug for SplitAndDoubleOp
Source§impl Default for SplitAndDoubleOp
impl Default for SplitAndDoubleOp
Source§impl DefaultName for SplitAndDoubleOp
impl DefaultName for SplitAndDoubleOp
Source§fn default_name() -> Cow<'static, str>
fn default_name() -> Cow<'static, str>
Returns the default name for an item.
Cow<'static, str>
allows owned or static string.Source§impl Named for SplitAndDoubleOp
impl Named for SplitAndDoubleOp
Source§impl Operator<SplitAndDoubleOpIO> for SplitAndDoubleOp
impl Operator<SplitAndDoubleOpIO> for SplitAndDoubleOp
Source§fn output_port_connection_required(&self, port: usize) -> bool
fn output_port_connection_required(&self, port: usize) -> bool
NOTE: typically, we do not require that outputs from any given operator be connected. perhaps this design choice may be changed in the future
Source§fn opcode(&self) -> Arc<dyn OpCode>
fn opcode(&self) -> Arc<dyn OpCode>
Returns the operation code, which can be used to inform
specialized handling or diagnostics.
Source§fn input_count(&self) -> usize
fn input_count(&self) -> usize
How many actual inputs does this operator need?
Source§fn output_count(&self) -> usize
fn output_count(&self) -> usize
How many outputs does this operator produce?
Source§fn input_port_type_str(&self, port: usize) -> Option<&'static str>
fn input_port_type_str(&self, port: usize) -> Option<&'static str>
used by the network! dag compiler to verify that the input port of one operator is
compatible with the data flowing into it from the output port of another operator
Source§fn output_port_type_str(&self, port: usize) -> Option<&'static str>
fn output_port_type_str(&self, port: usize) -> Option<&'static str>
used by the network! dag compiler to verify that the output port of one operator is
compatible with the data required by the input port of its downstream operator
Source§fn input_port_connection_required(&self, port: usize) -> bool
fn input_port_connection_required(&self, port: usize) -> bool
used by the network! dag compiler to verify that this input port needs an output connection
Source§fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
execute_inputs: [Option<&'life1 SplitAndDoubleOpIO>; 4],
execute_outputs: &'life2 mut [Option<SplitAndDoubleOpIO>; 4],
) -> Pin<Box<dyn Future<Output = NetResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn execute<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
execute_inputs: [Option<&'life1 SplitAndDoubleOpIO>; 4],
execute_outputs: &'life2 mut [Option<SplitAndDoubleOpIO>; 4],
) -> Pin<Box<dyn Future<Output = NetResult<()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
The big 4×4 method:
You receive up to 4 inputs and must fill up to 4 outputs.
Source§impl ResetName for SplitAndDoubleOp
impl ResetName for SplitAndDoubleOp
Auto Trait Implementations§
impl Freeze for SplitAndDoubleOp
impl RefUnwindSafe for SplitAndDoubleOp
impl Send for SplitAndDoubleOp
impl Sync for SplitAndDoubleOp
impl Unpin for SplitAndDoubleOp
impl UnwindSafe for SplitAndDoubleOp
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more