Skip to main content

qubit_function/consumers/
mod.rs

1/*******************************************************************************
2 *
3 *    Copyright (c) 2025 - 2026.
4 *    Haixing Hu, Qubit Co. Ltd.
5 *
6 *    All rights reserved.
7 *
8 ******************************************************************************/
9//! # Consumers Module
10//!
11//! This module provides consumer-related functional programming abstractions,
12//! including single-parameter consumers, bi-consumers, and their stateful
13//! variants.
14//!
15//! # Author
16//!
17//! Haixing Hu
18
19pub mod bi_consumer;
20pub mod bi_consumer_once;
21pub mod consumer;
22pub mod consumer_once;
23#[doc(hidden)]
24pub mod macros;
25pub mod stateful_bi_consumer;
26pub mod stateful_consumer;
27
28pub use bi_consumer::{
29    ArcBiConsumer,
30    ArcConditionalBiConsumer,
31    BiConsumer,
32    BoxBiConsumer,
33    BoxConditionalBiConsumer,
34    FnBiConsumerOps,
35    RcBiConsumer,
36    RcConditionalBiConsumer,
37};
38pub use bi_consumer_once::{
39    BiConsumerOnce,
40    BoxBiConsumerOnce,
41    BoxConditionalBiConsumerOnce,
42    FnBiConsumerOnceOps,
43};
44pub use consumer::{
45    ArcConditionalConsumer,
46    ArcConsumer,
47    BoxConditionalConsumer,
48    BoxConsumer,
49    Consumer,
50    FnConsumerOps,
51    RcConditionalConsumer,
52    RcConsumer,
53};
54pub use consumer_once::{
55    BoxConditionalConsumerOnce,
56    BoxConsumerOnce,
57    ConsumerOnce,
58    FnConsumerOnceOps,
59};
60pub use stateful_bi_consumer::{
61    ArcConditionalStatefulBiConsumer,
62    ArcStatefulBiConsumer,
63    BoxConditionalStatefulBiConsumer,
64    BoxStatefulBiConsumer,
65    FnStatefulBiConsumerOps,
66    RcConditionalStatefulBiConsumer,
67    RcStatefulBiConsumer,
68    StatefulBiConsumer,
69};
70pub use stateful_consumer::{
71    ArcConditionalStatefulConsumer,
72    ArcStatefulConsumer,
73    BoxConditionalStatefulConsumer,
74    BoxStatefulConsumer,
75    FnStatefulConsumerOps,
76    RcConditionalStatefulConsumer,
77    RcStatefulConsumer,
78    StatefulConsumer,
79};