use core::fmt;
#[derive(Default)]
pub struct StaticPrinter
{
printer: Option<fn(&str) -> fmt::Result>,
}
impl StaticPrinter
{
pub fn set_printer_fn(&mut self, cb: fn(&str) -> fmt::Result)
{
self.printer = Some(cb);
}
}
impl fmt::Write for StaticPrinter
{
fn write_str(&mut self, x: &str) -> fmt::Result
{
if let Some(cb) = self.printer
{
cb(x)
}
else
{
Ok(())
}
}
}