1
0
Fork 0
forked from wry/wry
wry/src/utils/bitflags.rs
2022-03-26 22:58:30 +01:00

32 lines
665 B
Rust

pub trait BitflagsExt {
fn contains(self, other: Self) -> bool;
fn not_contains(self, other: Self) -> bool;
fn intersects(self, other: Self) -> bool;
}
macro_rules! num {
($ty:ident) => {
impl BitflagsExt for $ty {
fn contains(self, other: Self) -> bool {
self & other == other
}
fn not_contains(self, other: Self) -> bool {
self & other != other
}
fn intersects(self, other: Self) -> bool {
self & other != 0
}
}
};
}
num!(u8);
num!(u16);
num!(u32);
num!(u64);
num!(i8);
num!(i16);
num!(i32);
num!(i64);