Skip to main content

qubit_progress/
lib.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025 - 2026 Haixing Hu.
4 *
5 *    SPDX-License-Identifier: Apache-2.0
6 *
7 *    Licensed under the Apache License, Version 2.0.
8 *
9 ******************************************************************************/
10//! Generic progress reporting data model and reporter abstractions.
11//!
12//! This crate models progress as immutable events carrying lifecycle phase,
13//! optional stage information, counters, and timing.
14
15#![deny(missing_docs)]
16#![deny(unsafe_op_in_unsafe_fn)]
17
18pub mod model;
19/// Lifecycle helper for one progress-producing operation.
20pub mod progress;
21pub mod reporter;
22
23pub use model::{
24    ProgressCounters,
25    ProgressEvent,
26    ProgressEventBuilder,
27    ProgressPhase,
28    ProgressStage,
29};
30pub use progress::Progress;
31pub use reporter::{
32    LoggerProgressReporter,
33    NoOpProgressReporter,
34    ProgressReporter,
35    StderrProgressReporter,
36    StdoutProgressReporter,
37    WriterProgressReporter,
38};