| Crates.io | bitvec-nom2 |
| lib.rs | bitvec-nom2 |
| version | 0.2.1 |
| created_at | 2023-07-11 14:53:11.957982+00 |
| updated_at | 2024-08-28 07:16:24.193714+00 |
| description | Bit level parsing for nom with bitvec |
| homepage | |
| repository | https://github.com/rust-bakery/nom-bitvec |
| max_upload_size | |
| id | 913898 |
| size | 23,320 |
This crate provides input types for nom parser combinators using bitvec. With those, you can use common nom combinators directly on streams of bits.
let data = [0xA5u8, 0x69, 0xF0, 0xC3];
let bits = data.view_bits::<Msb0>();
fn parser(bits: &BitSlice<Msb0, u8>) -> IResult<&BitSlice<Msb0, u8>, &BitSlice<Msb0, u8>> {
tag(bits![1, 0, 1, 0])(bits)
}
assert_eq!(parser(bits), Ok((&bits[..4], &bits[4..])));