autd3_derive/
lib.rs

1#![warn(missing_docs)]
2#![warn(rustdoc::missing_crate_level_docs)]
3#![warn(rustdoc::unescaped_backticks)]
4
5//! # A custom derive macro for `autd3`.
6
7mod gain;
8mod modulation;
9mod parser;
10
11use proc_macro::TokenStream;
12
13#[proc_macro_derive(Gain)]
14#[doc(hidden)]
15pub fn gain_derive(input: TokenStream) -> TokenStream {
16    let parsed = parser::parse_derive_input(input);
17    gain::impl_gain_macro(parsed)
18}
19
20#[doc(hidden)]
21#[proc_macro_derive(Modulation, attributes(manual_option))]
22pub fn modulation_derive(input: TokenStream) -> TokenStream {
23    let parsed = parser::parse_derive_input(input);
24    modulation::impl_mod_macro(parsed)
25}