macro_rules! bitvector {
() => { ... };
($($arg:tt)*) => { ... };
($item: expr, $len: expr) => { ... };
}Expand description
A macro to construct a new BitVector from a bit pattern.
This macro accepts a sequence of 1s and 0s separated by commas,
(an array of bits effectively) and creates a new BitVector from
that pattern. Any token other than a 0 or a 1 will result in a
panic.
§Examples
use deepmesa_collections::BitVector;
use deepmesa_collections::bitvector;
let bv = bitvector![1,0,1,1,0,1,0,1];
assert_eq!(bv.len(), 8);
assert_eq!(bv.read_u8(0), (0b1011_0101, 8));The macro can also accept a single bit (1 or 0) and a length and construct a BitVector of that length with the repeating bit.
§Examples
use deepmesa_collections::BitVector;
use deepmesa_collections::bitvector;
let bv = bitvector![1;100];
assert_eq!(bv.len(), 100);Finally this macro can also be used to construct an empty BitVector.
§Examples
use deepmesa_collections::BitVector;
use deepmesa_collections::bitvector;
let bv = bitvector!();
assert_eq!(bv.len(), 0);