1#![doc = include_str!("../README.md")]
2#![cfg_attr(not(feature = "std"), no_std)]
3#![forbid(unsafe_code)]
4#![warn(missing_docs)]
5
6extern crate alloc;
7
8#[macro_use]
9mod pulse;
10mod callback;
11pub mod ext;
12mod json;
13pub use callback::{Checkpoint, FnPulse};
14pub mod poll;
15#[cfg(feature = "smooth")]
16mod smooth;
17mod sync;
18mod tree;
19pub use how_far::WithStop;
20use how_far::ChildPulse;
22pub use how_far::{
23 AsStopReason, Child, Complete, Execution, NoPulse, Outcome, Paced, PhaseSpec, Phases,
24 PlanError, ProgressExt, Pulse, Report, ResultExt, SharedPulse, Stage, StageKey, Stages, Stop,
25 StopOnly, StopReason, Total, Unstoppable, prelude,
26};
27
28pub use pulse::PulseTree;
29#[cfg(feature = "smooth")]
30pub use smooth::ProgressSmoother;
31pub use tree::{NodeId, Observer, Phase, Reporter, Snapshot, Status, Summary};