Crate bit_fiddler

Source
Expand description

Crate for common bit operations. Mainly for setting, toggling, unsetting and checking bits.

These operations are provided by macros which accept multiple patterns to allow easy bit fiddling. These include operations on a single bit, range of bits, etc. See macro docs for more details.

Macros in this crate don’t do overflow/underflow checks. If invalid args are supplied, behaviour depends on the underlying operators and may panic.

§Example

use bit_fiddler::set;

let mut bitmap = 0b_0000_0000;
set!(in bitmap, u8, [3..6]);
assert_eq!(bitmap, 0b_0011_1000);

Macros§

is_set
Macro for checking if single, multiple or range of bits are set. It accepts multiple patterns for different use cases. It doesn’t do any overflow or underflow checks. Behaviour on passing invalid args is undefined.
mask
Macro for getting a bit mask over the given range.
max_bits
For getting total bit count by type or identifier.
set
Macro for setting single, multiple or range of bits. It accepts multiple patterns for different use cases. It doesn’t do any overflow or underflow checks. Behaviour on passing invalid args is undefined.
toggle
Macro for toggling single, multiple or range of bits. It accepts multiple patterns for different use cases. It doesn’t do any overflow or underflow checks. Behaviour on passing invalid args is undefined.
unset
Macro for usetting single, multiple or range of bits. It accepts multiple patterns for different use cases. It doesn’t do any overflow or underflow checks. Behaviour on passing invalid args is undefined.