EnumFlags

EnumFlags is a csharp like enum flags implementation.

Example

```rust use enum_flags::EnumFlags;

[repr(u8)] // if not specific,u64 is the default

[derive(EnumFlags, Copy, Clone, PartialEq)]

enum Test { None = 0, A = 1, B = 2, // unspecified variants pick unused bits automatically C = 4, }

let a_b: Test = Test::A | Test::B;

asserteq!("(Test::A | Test::B)", format!("{:?}", ab).as_str());

assert!(ab.hasa()); assert!(ab.hasflag(Test::B));

```