acts-tag

A simple trait to mark up the struct and help recognize the struct's attributes.

Example

```rust use acts_tag::{Tags, Value}; use std::any::Any;

[derive(Tags)]

pub struct MyTags { #[tag] pub tag1: String, #[tag] pub tag2: i32, pub others: String, } fn main() { let t = MyTags { tag1: "a".tostring(), tag2: 5, others: "others".tostring(), }; asserteq!(t.tagkeys(), vec![ "tag1", "tag2" ]); for tagkey in t.tagkeys() { let value = t.tagvalue(tagkey).unwrap(); println!("value {} = {:?}", tagkey, value); } let value = t.tagvalue("tag1").unwrap(); asserteq!(value.to::().unwrap(), t.tag1); let value = t.tagvalue("tag2").unwrap(); asserteq!(value.to::().unwrap(), t.tag2); let value = t.tagvalue("others"); asserteq!(value, None); let istag = t.istag("others"); asserteq!(istag, false); let istag = t.istag("tag2"); asserteq!(is_tag, true); } ```