Skip to main content

how_far_along/
lib.rs

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;
20// Application-facing protocol names only; implementor/checked helpers remain in how_far.
21use 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};