From 6df2ce2aa38b6192896b5126b63e14fcb937de30 Mon Sep 17 00:00:00 2001 From: Tiaan Louw Date: Sun, 23 Jan 2022 23:15:23 +0100 Subject: [PATCH] Add a capabilities example to the README.md file. --- README.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/README.md b/README.md index 0da0f853..9479062e 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,30 @@ and this to your source code: use bitflags::bitflags; ``` +## Example + +Generate a flags structure: + +```rust +use bitflags::bitflags; + +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 mut flags = Flags::A | Flags::B; + assert!(flags.contains(Flags::A)); + flags.set(Flags::C, true); + assert!(flags.contains(Flags::A | Flags::C)); +} +``` + ## Rust Version Support The minimum supported Rust version is 1.46 due to use of associated constants and const functions.