pub trait EvalOp {
// Required method
fn is_stateless(&self) -> bool;
// Provided methods
fn eval(
&self,
inputs: SmallVec<[TValue; 4]>
) -> Result<SmallVec<[TValue; 4]>, Error> { ... }
fn eval_with_session(
&self,
session: &SessionState,
inputs: SmallVec<[TValue; 4]>
) -> Result<SmallVec<[TValue; 4]>, Error> { ... }
fn state(
&self,
session: &mut SessionState,
node_id: usize
) -> Result<Option<Box<dyn OpState>>, Error> { ... }
}