macro_rules! define_flags {
(
$name:ident: $base:ty {
$($flag:ident = $bit:expr),* $(,)?
}
) => { ... };
}Expand description
Macro to define a typed flag set with named flags
Note: Requires the paste crate for generating setter method names.
§Examples
ⓘ
use synapse_primitives::define_flags;
define_flags! {
RequestFlags: Flags64 {
REQUIRE_AUTH = 0,
IDEMPOTENT = 1,
ALLOW_BATCH = 2,
COMPRESS_RESPONSE = 3,
}
}
let mut flags = RequestFlags::new();
flags.set_require_auth(true);
flags.set_idempotent(true);
assert!(flags.require_auth());
assert!(flags.idempotent());
assert!(!flags.allow_batch());