#![doc = include_str!("../README.md")]
#[cfg(feature = "default-progress")]
pub mod default;
mod helper;
pub use helper::{AtomicSubStep, NamedStep, VariableNameStep};
use std::borrow::Cow;
#[doc(hidden)]
pub use convert_case as _private_convert_case;
pub trait Step: 'static + Send + Sync {
fn name(&self) -> Cow<'static, str>;
fn current(&self) -> u64;
fn total(&self) -> u64;
}
pub trait Progress: 'static + Send + Sync {
fn update(&self, sub_progress: impl Step);
}
pub struct NoProgress;
impl Progress for NoProgress {
fn update(&self, _sub_progress: impl Step) {}
}