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