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/// Helpers for running progress reporting loops.
23pub mod running;
24
25pub use model::{
26    ProgressCounters,
27    ProgressEvent,
28    ProgressEventBuilder,
29    ProgressPhase,
30    ProgressStage,
31};
32pub use progress::Progress;
33pub use reporter::{
34    LoggerProgressReporter,
35    NoOpProgressReporter,
36    ProgressReporter,
37    StderrProgressReporter,
38    StdoutProgressReporter,
39    WriterProgressReporter,
40};
41pub use running::{
42    RunningProgressGuard,
43    RunningProgressPointHandle,
44};