# Iroha Iroha is a tokenization Library for Rust. # ## Usage Iroha provide derive macro `iroha::ToTokens`. Derived struct or enum will be implemented `quote::ToTokens`. ```rust use iroha::ToTokens; use proc_macro2::TokenStream; use quote::quote; #[derive(ToTokens)] struct Foo { a: i32, b: i64 } #[derive(ToTokens)] #[Iroha(mod_path="path::to::mod")] enum Bar { A(u8, String), B } fn some_fn() -> TokenStream { let foo = Foo {a: 1, b: 2}; let bar = Bar::A(1, "test".to_string); quote! { || (#foo, #bar) } } ``` ## Supported Type * Any types witch implemented `quote::ToTokens` * `String` * `Vec`, `HashMap`, `HashSet` * `Result`, `Option` * `Tuple`(only support two elements) * `std::marker::PhantomData`