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};