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