Skip to content

Commit

Permalink
Merge pull request #270 from tiaanl/add-readme-example
Browse files Browse the repository at this point in the history
Add example to the README.md file
  • Loading branch information
KodrAus committed Apr 20, 2022
2 parents 66afe49 + decb0f6 commit 186a7bb
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions README.md
Expand Up @@ -27,6 +27,33 @@ and this to your source code:
use bitflags::bitflags;
```

## Example

Generate a flags structure:

```rust
use bitflags::bitflags;

// The `bitflags!` macro generates `struct`s that manage a set of flags.
bitflags! {
struct Flags: u32 {
const A = 0b00000001;
const B = 0b00000010;
const C = 0b00000100;
const ABC = Self::A.bits | Self::B.bits | Self::C.bits;
}
}

fn main() {
let e1 = Flags::A | Flags::C;
let e2 = Flags::B | Flags::C;
assert_eq!((e1 | e2), Flags::ABC); // union
assert_eq!((e1 & e2), Flags::C); // intersection
assert_eq!((e1 - e2), Flags::A); // set difference
assert_eq!(!e2, Flags::A); // set complement
}
```

## Rust Version Support

The minimum supported Rust version is 1.46 due to use of associated constants and const functions.

0 comments on commit 186a7bb

Please sign in to comment.