1mod display;
2mod field_projection;
3mod inner;
4mod newtype;
5mod ops;
6
7use proc_macro::TokenStream;
8
9#[proc_macro_derive(Add)]
10pub fn derive_add(input: TokenStream) -> TokenStream {
11 ops::derive_add(input.into()).into()
12}
13
14#[proc_macro_derive(AddAssign)]
15pub fn derive_add_assign(input: TokenStream) -> TokenStream {
16 ops::derive_add_assign(input.into()).into()
17}
18
19#[proc_macro_derive(Sub)]
20pub fn derive_sub(input: TokenStream) -> TokenStream {
21 ops::derive_sub(input.into()).into()
22}
23
24#[proc_macro_derive(SubAssign)]
25pub fn derive_sub_assign(input: TokenStream) -> TokenStream {
26 ops::derive_sub_assign(input.into()).into()
27}
28
29#[proc_macro_derive(Mul)]
30pub fn derive_mul(input: TokenStream) -> TokenStream {
31 ops::derive_mul(input.into()).into()
32}
33
34#[proc_macro_derive(MulAssign)]
35pub fn derive_mul_assign(input: TokenStream) -> TokenStream {
36 ops::derive_mul_assign(input.into()).into()
37}
38
39#[proc_macro_derive(Div)]
40pub fn derive_div(input: TokenStream) -> TokenStream {
41 ops::derive_div(input.into()).into()
42}
43
44#[proc_macro_derive(DivAssign)]
45pub fn derive_div_assign(input: TokenStream) -> TokenStream {
46 ops::derive_div_assign(input.into()).into()
47}
48
49#[proc_macro_derive(Rem)]
50pub fn derive_rem(input: TokenStream) -> TokenStream {
51 ops::derive_rem(input.into()).into()
52}
53
54#[proc_macro_derive(Sum)]
55pub fn derive_sum(input: TokenStream) -> TokenStream {
56 ops::derive_sum(input.into()).into()
57}
58
59#[proc_macro_derive(FieldProjection)]
60pub fn derive_field_projection(input: TokenStream) -> TokenStream {
61 field_projection::derive_field_projection(input.into()).into()
62}
63
64#[proc_macro_derive(Display)]
65pub fn derive_display(input: TokenStream) -> TokenStream {
66 display::derive_display(input.into()).into()
67}
68
69#[proc_macro_derive(Inner)]
70pub fn derive_inner(input: TokenStream) -> TokenStream {
71 inner::derive_inner(input.into()).into()
72}