1#[fp_macros::document_module]
7mod inner {
8 use {
9 fp_macros::*,
10 std::marker::PhantomData,
11 };
12
13 #[document_type_parameters(
15 "The cloneable function brand.",
16 "The type of focus values extracted from the source.",
17 "The type of replacement values used during reconstruction."
18 )]
19 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
20 pub struct BazaarBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
21
22 #[document_type_parameters(
24 "The cloneable function brand.",
25 "The type of focus values extracted from the source.",
26 "The type of replacement values used during reconstruction."
27 )]
28 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
29 pub struct BazaarListBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
30
31 #[document_type_parameters(
33 "The cloneable function brand.",
34 "The type of the value produced by the forward function.",
35 "The type of the value consumed by the backward function."
36 )]
37 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
38 pub struct ExchangeBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
39
40 #[document_type_parameters("The pointer brand.", "The return type of the function.")]
42 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
43 pub struct ForgetBrand<PointerBrand, R>(PhantomData<(PointerBrand, R)>);
44
45 #[document_type_parameters(
47 "The cloneable function brand.",
48 "The type of the value produced by the inner function.",
49 "The type of the value consumed by the inner function."
50 )]
51 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
52 pub struct GratingBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
53
54 #[document_type_parameters("The underlying profunctor brand.", "The index type.")]
56 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
57 pub struct IndexedBrand<P, I>(PhantomData<(P, I)>);
58
59 #[document_type_parameters(
61 "The cloneable function brand.",
62 "The type of the value produced by the preview function.",
63 "The type of the value consumed by the review function."
64 )]
65 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
66 pub struct MarketBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
67
68 #[document_type_parameters(
73 "The inner profunctor brand whose instances are reversed.",
74 "The outer cloneable function pointer brand for wrapping the `run` function.",
75 "The fixed source type.",
76 "The fixed target type."
77 )]
78 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
79 pub struct ReverseBrand<InnerP, PointerBrand, S, T>(PhantomData<(InnerP, PointerBrand, S, T)>);
80
81 #[document_type_parameters(
83 "The cloneable function brand.",
84 "The type of the value produced by the getter.",
85 "The type of the value consumed by the setter."
86 )]
87 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
88 pub struct ShopBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
89
90 #[document_type_parameters(
92 "The cloneable function brand.",
93 "The type of the value produced by the preview function.",
94 "The type of the value consumed by the setter."
95 )]
96 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
97 pub struct StallBrand<FunctionBrand, A, B>(PhantomData<(FunctionBrand, A, B)>);
98
99 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
101 pub struct TaggedBrand;
102
103 #[document_type_parameters("The cloneable function brand.")]
105 #[derive(Clone, Copy, Debug, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
106 pub struct ZippingBrand<FunctionBrand>(PhantomData<FunctionBrand>);
107}
108
109pub use inner::*;