# nom-bitvec
[](LICENSE)
[](https://gitter.im/Geal/nom?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[](https://crates.io/crates/nom-bitvec)
[](#rust-version-requirements)
This crate provides input types for [nom parser combinators](https://crates.io/crates/nom)
using [bitvec](https://crates.io/crates/bitvec).
With those, you can use common nom combinators directly on streams of bits.
## Example
```rust
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..])));
```