lightpack_derive/
lib.rs

1//! This crates provides Lightpack's derive macros, i.e.
2//! 
3//! ```
4//! #[derive(Size, Pack, Unpack)] 
5//! ```
6
7mod pack;
8mod size;
9mod unpack;
10mod util;
11
12use proc_macro::TokenStream;
13
14#[proc_macro_derive(Size)]
15pub fn derive_size(input: TokenStream) -> TokenStream {
16    size::derive_size(input.into()).into()
17}
18
19#[proc_macro_derive(Pack)]
20pub fn derive_pack(input: TokenStream) -> TokenStream {
21    pack::derive_pack(input.into()).into()
22}
23
24#[proc_macro_derive(Unpack)]
25pub fn derive_unpack(input: TokenStream) -> TokenStream {
26    unpack::derive_unpack(input.into()).into()
27}