proc_bitfield_macros/
lib.rs1mod bitfield;
2mod bits;
3mod enum_conv;
4#[cfg(feature = "nightly")]
5mod unwrap_bits;
6mod utils;
7
8use proc_macro::TokenStream;
9
10#[proc_macro]
11pub fn bitfield(input: TokenStream) -> TokenStream {
12 bitfield::bitfield(input)
13}
14
15#[proc_macro]
16pub fn bits(input: TokenStream) -> TokenStream {
17 bits::bits(input)
18}
19
20#[proc_macro]
21pub fn with_bits(input: TokenStream) -> TokenStream {
22 bits::with_bits(input)
23}
24
25#[proc_macro]
26pub fn set_bits(input: TokenStream) -> TokenStream {
27 bits::set_bits(input)
28}
29
30#[proc_macro_derive(ConvRaw)]
31pub fn derive_conv_raw(item: TokenStream) -> TokenStream {
32 enum_conv::derive_conv_raw(item)
33}
34
35#[cfg(feature = "nightly")]
36#[proc_macro_derive(UnwrapBits)]
37pub fn derive_unwrap_bits(item: TokenStream) -> TokenStream {
38 unwrap_bits::derive(item)
39}