pub trait TypedModelHelpers {
// Required methods
fn next_node(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>;
fn previous_node(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>;
fn previous_nodes(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> SmallVec<[&Node<TypedFact, Box<dyn TypedOp>>; 4]>;
fn collect_const_inputs<'a>(
&'a self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> SmallVec<[&'a Const; 4]>;
fn single_prev_node_as<O>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> Option<(usize, &Node<TypedFact, Box<dyn TypedOp>>)>
where O: TypedOp;
fn matches_single_input_const(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
konst: f32,
) -> bool;
fn find_succ_bin_with_const<B>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
konst: f32,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>
where B: BinMiniOp;
fn find_succ_bin_with_outlet<B>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
outlet_id: &OutletId,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>
where B: BinMiniOp;
}Required Methods§
fn next_node( &self, node: &Node<TypedFact, Box<dyn TypedOp>>, ) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>
fn previous_node( &self, node: &Node<TypedFact, Box<dyn TypedOp>>, ) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>
fn previous_nodes( &self, node: &Node<TypedFact, Box<dyn TypedOp>>, ) -> SmallVec<[&Node<TypedFact, Box<dyn TypedOp>>; 4]>
fn collect_const_inputs<'a>( &'a self, node: &Node<TypedFact, Box<dyn TypedOp>>, ) -> SmallVec<[&'a Const; 4]>
fn single_prev_node_as<O>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
) -> Option<(usize, &Node<TypedFact, Box<dyn TypedOp>>)>where
O: TypedOp,
fn matches_single_input_const( &self, node: &Node<TypedFact, Box<dyn TypedOp>>, konst: f32, ) -> bool
fn find_succ_bin_with_const<B>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
konst: f32,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>where
B: BinMiniOp,
fn find_succ_bin_with_outlet<B>(
&self,
node: &Node<TypedFact, Box<dyn TypedOp>>,
outlet_id: &OutletId,
) -> Option<&Node<TypedFact, Box<dyn TypedOp>>>where
B: BinMiniOp,
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.