bitflag 0.10.1

A macro to generate bitflags structures from C-like enums
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use bitflag::bitflag;

#[bitflag(u32)]
#[derive(Clone, Copy, PartialEq, PartialOrd, Eq, Ord, Hash)]
pub enum SimpleFlag {
    Flag1 = 1 << 9,
    Flag2 = 1 << 12,
    Flag3 = Flag1 | Flag2,
}

fn main() {
    let flag = SimpleFlag::Flag1 | SimpleFlag::Flag2;
    println!("Binary: 0b{flag:b}");
    println!();
    println!("Octal: 0o{flag:o}");
    println!();
    println!("Hex: 0x{flag:X}");
}