Skip to main content

Recorder

Trait Recorder 

Source
pub trait Recorder<L, N>
where L: Language, N: Analysis<L>,
{ // Required method fn identifier(&self) -> Cow<'static, str>; // Provided methods fn record_before_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, ) -> Option<String> { ... } fn record_after_search<'r>( &self, iteration: usize, egraph: &'r EGraph<L, N>, rewrite: &'r Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String> { ... } fn record_before_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String> { ... } fn record_after_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, n_matches: usize, ) -> Option<String> { ... } }

Required Methods§

Source

fn identifier(&self) -> Cow<'static, str>

Provided Methods§

Source

fn record_before_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, matches: &[SearchMatches<'_, L>], ) -> Option<String>

Source

fn record_after_rewrite( &self, iteration: usize, egraph: &mut EGraph<L, N>, rewrite: &Rewrite<L, N>, n_matches: usize, ) -> Option<String>

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<L, N, C> Recorder<L, N> for BestProgram<C>
where L: Language, N: Analysis<L>, C: CostFunction<L>, <C as CostFunction<L>>::Cost: Display,

Source§

impl<L, N> Recorder<L, N> for NumberEClasses
where L: Language, N: Analysis<L>,

Source§

impl<L, N> Recorder<L, N> for NumberENodes
where L: Language, N: Analysis<L>,

Source§

impl<L, N> Recorder<L, N> for Timestamp
where L: Language, N: Analysis<L>,