argmin::core

Trait Observe

Source
pub trait Observe<O: ArgminOp> {
    // Provided methods
    fn observe_init(&self, _name: &str, _kv: &ArgminKV) -> Result<(), Error> { ... }
    fn observe_iter(
        &mut self,
        _state: &IterState<O>,
        _kv: &ArgminKV,
    ) -> Result<(), Error> { ... }
}
Expand description

Defines the interface every Observer needs to expose

Provided Methods§

Source

fn observe_init(&self, _name: &str, _kv: &ArgminKV) -> Result<(), Error>

Called once at the beginning of the execution of the solver.

Parameters:

name: Name of the solver kv: Key-Value storage of initial configurations defined by the Solver

Source

fn observe_iter( &mut self, _state: &IterState<O>, _kv: &ArgminKV, ) -> Result<(), Error>

Called at every iteration of the solver

Parameters

state: Current state of the solver. See documentation of IterState for details. kv: Key-Value store of relevant variables defined by the Solver

Implementors§

Source§

impl<O: ArgminOp> Observe<O> for WriteToFile<O>

Source§

impl<O: ArgminOp> Observe<O> for ArgminSlogLogger

Source§

impl<O: ArgminOp> Observe<O> for Observer<O>

By implementing Observe for Observer we basically allow a set of Observers to be used just like a single Observer.