Skip to main content

qubit_value/multi_values/
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//! # Multiple Values Module
11//!
12//! Public entry for multiple-values container implementations.
13
14#[allow(clippy::module_inception)]
15#[macro_use]
16mod multi_values;
17mod multi_values_add_arg;
18mod multi_values_adder;
19mod multi_values_adders;
20mod multi_values_constructor;
21mod multi_values_constructor_arg;
22#[macro_use]
23mod multi_values_type_table;
24mod multi_values_converters;
25mod multi_values_core;
26mod multi_values_first_getter;
27mod multi_values_getter;
28mod multi_values_getters;
29mod multi_values_multi_adder;
30mod multi_values_multi_adder_slice;
31mod multi_values_set_arg;
32mod multi_values_setter;
33mod multi_values_setter_slice;
34mod multi_values_setters;
35mod multi_values_single_setter;
36
37/// Private marker trait used to prevent downstream implementations.
38mod sealed {
39    pub trait MultiValuesAddArgSealed {}
40    pub trait MultiValuesAdderSealed<T> {}
41    pub trait MultiValuesConstructorArgSealed {}
42    pub trait MultiValuesConstructorSealed<T> {}
43    pub trait MultiValuesFirstGetterSealed<T> {}
44    pub trait MultiValuesGetterSealed<T> {}
45    pub trait MultiValuesMultiAdderSealed<T> {}
46    pub trait MultiValuesSetArgSealed {}
47    pub trait MultiValuesSetterSealed<T> {}
48    pub trait MultiValuesSetterSliceSealed<T> {}
49    pub trait MultiValuesSingleSetterSealed<T> {}
50}
51
52pub use multi_values::MultiValues;
53pub use multi_values_add_arg::MultiValuesAddArg;
54pub use multi_values_adder::MultiValuesAdder;
55pub use multi_values_constructor::MultiValuesConstructor;
56pub use multi_values_constructor_arg::MultiValuesConstructorArg;
57pub use multi_values_first_getter::MultiValuesFirstGetter;
58pub use multi_values_getter::MultiValuesGetter;
59pub use multi_values_multi_adder::MultiValuesMultiAdder;
60pub use multi_values_set_arg::MultiValuesSetArg;
61pub use multi_values_setter::MultiValuesSetter;
62pub use multi_values_setter_slice::MultiValuesSetterSlice;
63pub use multi_values_single_setter::MultiValuesSingleSetter;