TransferInitialiser

Trait TransferInitialiser 

Source
pub trait TransferInitialiser<const FORWARD: bool, const ID: u8>: Initialiser<FORWARD, ID> {
    type Observed;

    // Required methods
    fn observe(&mut self, node: &Node, parser: &Z3Parser) -> Self::Observed;
    fn transfer(
        &mut self,
        from: &Node,
        from_idx: RawNodeIndex,
        to_idx: usize,
        to_all: &[Self::Observed],
    ) -> Self::Value;
    fn add(&mut self, node: &mut Node, value: Self::Value);
}
Expand description

Initialiser where values are transferred from the current node to its neighbors.

Required Associated Types§

Required Methods§

Source

fn observe(&mut self, node: &Node, parser: &Z3Parser) -> Self::Observed

Source

fn transfer( &mut self, from: &Node, from_idx: RawNodeIndex, to_idx: usize, to_all: &[Self::Observed], ) -> Self::Value

Source

fn add(&mut self, node: &mut Node, value: Self::Value)

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.

Implementors§

Source§

impl<C: CostInitialiser<FORWARD>, const FORWARD: bool> TransferInitialiser<FORWARD, 0> for C

Source§

type Observed = <C as CostInitialiser<FORWARD>>::Observed

Source§

impl<const FORWARD: bool> TransferInitialiser<FORWARD, 2> for NextInstsInit<FORWARD>