Skip to main content

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