1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
//! # `atomic_progress`
//!
//! A high-performance, thread-safe, and cloneable progress tracking library.
//!
//! `atomic_progress` provides primitives for tracking the state of long-running operations.
//! It is designed to be:
//!
//! * **Headless**: It stores state (position, total, time) but does not enforce a specific rendering implementation.
//! * **Concurrent**: Progress handles are cheap to clone ([`Arc`]-based) and safe to share across threads.
//! * **Low Overhead**: Uses atomic primitives for hot-path updates (incrementing position) and coarse-grained locking ([`RwLock`]) for cold paths (metadata, snapshots).
//!
//! ## Modules
//!
//! * [`builder`]: Fluent interface for constructing complex [`Progress`] instances.
//! * [`io`]: Wrappers for [`std::io::Read`] and [`std::io::Write`] that track progress automatically.
//! * [`iter`]: Extension traits for tracking progress on Iterators.
//! * [`progress`]: The core [`Progress`] state machine and snapshot logic.
//! * [`stack`]: A collection for managing multiple progress indicators simultaneously.
pub use ProgressBuilder;
pub use ;
pub use ;
pub use ;
pub use TerminalFrontend;
// Re-export byte formatting primitives so consumers do not need to depend on
// `prettier-bytes` directly just to configure the terminal output.
pub use ;