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;
21pub(crate) mod macros;
22pub mod stateful_bi_consumer;
23pub mod stateful_consumer;
24
25pub use bi_consumer::{
26    ArcBiConsumer,
27    ArcConditionalBiConsumer,
28    BiConsumer,
29    BoxBiConsumer,
30    BoxConditionalBiConsumer,
31    FnBiConsumerOps,
32    RcBiConsumer,
33    RcConditionalBiConsumer,
34};
35pub use bi_consumer_once::{
36    BiConsumerOnce,
37    BoxBiConsumerOnce,
38    BoxConditionalBiConsumerOnce,
39    FnBiConsumerOnceOps,
40};
41pub use consumer::{
42    ArcConditionalConsumer,
43    ArcConsumer,
44    BoxConditionalConsumer,
45    BoxConsumer,
46    Consumer,
47    FnConsumerOps,
48    RcConditionalConsumer,
49    RcConsumer,
50};
51pub use consumer_once::{
52    BoxConditionalConsumerOnce,
53    BoxConsumerOnce,
54    ConsumerOnce,
55    FnConsumerOnceOps,
56};
57pub use stateful_bi_consumer::{
58    ArcConditionalStatefulBiConsumer,
59    ArcStatefulBiConsumer,
60    BoxConditionalStatefulBiConsumer,
61    BoxStatefulBiConsumer,
62    FnStatefulBiConsumerOps,
63    RcConditionalStatefulBiConsumer,
64    RcStatefulBiConsumer,
65    StatefulBiConsumer,
66};
67pub use stateful_consumer::{
68    ArcConditionalStatefulConsumer,
69    ArcStatefulConsumer,
70    BoxConditionalStatefulConsumer,
71    BoxStatefulConsumer,
72    FnStatefulConsumerOps,
73    RcConditionalStatefulConsumer,
74    RcStatefulConsumer,
75    StatefulConsumer,
76};