pub enum DoubleToTriTwoGenericsOpIO<T, U>where
T: Copy + Display + Mul<T, Output = T> + Add<T, Output = T> + Sub<T, Output = T> + Debug + Send + Sync,
U: Copy + Display + Mul<U, Output = U> + Add<U, Output = U> + Sub<U, Output = U> + Debug + Send + Sync,{
None,
Input0(T),
Input1(U),
Input2(i32),
Output0(T),
Output1(U),
Output2(U),
}
Variants§
Implementations§
Source§impl<T, U> DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> DoubleToTriTwoGenericsOpIO<T, U>
pub fn active_output_port(&self) -> Option<usize>
Trait Implementations§
Source§impl<T, U> Clone for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> Clone for DoubleToTriTwoGenericsOpIO<T, U>
Source§fn clone(&self) -> DoubleToTriTwoGenericsOpIO<T, U>
fn clone(&self) -> DoubleToTriTwoGenericsOpIO<T, U>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<T, U> Debug for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> Debug for DoubleToTriTwoGenericsOpIO<T, U>
Source§impl<T, U> Default for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> Default for DoubleToTriTwoGenericsOpIO<T, U>
Source§impl<T, U> Operator<DoubleToTriTwoGenericsOpIO<T, U>> for DoubleToTriTwoGenericsOp<T, U>
impl<T, U> Operator<DoubleToTriTwoGenericsOpIO<T, U>> for DoubleToTriTwoGenericsOp<T, U>
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 DoubleToTriTwoGenericsOpIO<T, U>>; 4],
execute_outputs: &'life2 mut [Option<DoubleToTriTwoGenericsOpIO<T, U>>; 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 DoubleToTriTwoGenericsOpIO<T, U>>; 4],
execute_outputs: &'life2 mut [Option<DoubleToTriTwoGenericsOpIO<T, U>>; 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<T, U> PartialEq for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PartialEq for DoubleToTriTwoGenericsOpIO<T, U>
Source§fn eq(&self, other: &DoubleToTriTwoGenericsOpIO<T, U>) -> bool
fn eq(&self, other: &DoubleToTriTwoGenericsOpIO<T, U>) -> bool
Tests for
self
and other
values to be equal, and is used by ==
.Source§impl<T, U> PortTryFrom0<T> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryFrom0<T> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_from0(src: T) -> Result<Self, Self::Error>
Source§impl<T, U> PortTryFrom1<U> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryFrom1<U> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_from1(src: U) -> Result<Self, Self::Error>
Source§impl<T, U> PortTryFrom2<i32> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryFrom2<i32> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_from2(src: i32) -> Result<Self, Self::Error>
Source§impl<T, U> PortTryFrom3<()> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryFrom3<()> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_from3(src: ()) -> Result<Self, Self::Error>
Source§impl<T, U> PortTryInto0<T> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryInto0<T> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
Source§fn port_try_into0(self) -> Result<T, Self::Error>
fn port_try_into0(self) -> Result<T, Self::Error>
Convert
self
into a T
, using port
as needed.Source§impl<'a, T, U> PortTryInto0Any for DoubleToTriTwoGenericsOpIO<T, U>
impl<'a, T, U> PortTryInto0Any for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_into0_any(self) -> Result<Erased, Self::Error>
Source§impl<T, U> PortTryInto1<U> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryInto1<U> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
Source§fn port_try_into1(self) -> Result<U, Self::Error>
fn port_try_into1(self) -> Result<U, Self::Error>
Convert
self
into a T
, using port
as needed.Source§impl<'a, T, U> PortTryInto1Any for DoubleToTriTwoGenericsOpIO<T, U>
impl<'a, T, U> PortTryInto1Any for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_into1_any(self) -> Result<Erased, Self::Error>
Source§impl<T, U> PortTryInto2<U> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryInto2<U> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
Source§fn port_try_into2(self) -> Result<U, Self::Error>
fn port_try_into2(self) -> Result<U, Self::Error>
Convert
self
into a T
, using port
as needed.Source§impl<'a, T, U> PortTryInto2Any for DoubleToTriTwoGenericsOpIO<T, U>
impl<'a, T, U> PortTryInto2Any for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_into2_any(self) -> Result<Erased, Self::Error>
Source§impl<T, U> PortTryInto3<()> for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> PortTryInto3<()> for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
Source§impl<'a, T, U> PortTryInto3Any for DoubleToTriTwoGenericsOpIO<T, U>
impl<'a, T, U> PortTryInto3Any for DoubleToTriTwoGenericsOpIO<T, U>
type Error = NetworkError
fn port_try_into3_any(self) -> Result<Erased, Self::Error>
impl<T, U> Eq for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> StructuralPartialEq for DoubleToTriTwoGenericsOpIO<T, U>
Auto Trait Implementations§
impl<T, U> Freeze for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> RefUnwindSafe for DoubleToTriTwoGenericsOpIO<T, U>where
T: RefUnwindSafe,
U: RefUnwindSafe,
impl<T, U> Send for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> Sync for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> Unpin for DoubleToTriTwoGenericsOpIO<T, U>
impl<T, U> UnwindSafe for DoubleToTriTwoGenericsOpIO<T, U>where
T: UnwindSafe,
U: UnwindSafe,
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