pub struct BinMatch<'a, T: BitIndexable> { /* private fields */ }
Expand description
Structure to contain a single BinRegex
match.
Examples
use bitutils2::{BinRegex, BitIndex};
let input = vec![0x00, 0x0A, 0xBC, 0xD0, 0xAB];
let mut re = BinRegex::new(".*A(BC)(F?)").unwrap();
let cap = re.captures(&input).unwrap();
let m0 = cap.get(0).unwrap();
assert_eq!(m0.start(), BitIndex::new(0, 0));
assert_eq!(m0.end(), BitIndex::new(3, 0));
assert_eq!(m0.span(), (BitIndex::new(0, 0), BitIndex::new(3, 0)));
assert_eq!(m0.is_empty(), false);
let m1 = cap.get(1).unwrap();
assert_eq!(m1.start(), BitIndex::new(2, 0));
assert_eq!(m1.end(), BitIndex::new(3, 0));
assert_eq!(m1.span(), (BitIndex::new(2, 0), BitIndex::new(3, 0)));
assert_eq!(m1.is_empty(), false);
let m2 = cap.get(2).unwrap();
assert_eq!(m2.start(), BitIndex::new(3, 0));
assert_eq!(m2.end(), BitIndex::new(3, 0));
assert_eq!(m2.span(), (BitIndex::new(3, 0), BitIndex::new(3, 0)));
assert_eq!(m2.is_empty(), true);
Implementations§
Trait Implementations§
source§impl<'a, T: PartialEq + BitIndexable> PartialEq<BinMatch<'a, T>> for BinMatch<'a, T>
impl<'a, T: PartialEq + BitIndexable> PartialEq<BinMatch<'a, T>> for BinMatch<'a, T>
impl<'a, T: Copy + BitIndexable> Copy for BinMatch<'a, T>
impl<'a, T: Eq + BitIndexable> Eq for BinMatch<'a, T>
impl<'a, T: BitIndexable> StructuralEq for BinMatch<'a, T>
impl<'a, T: BitIndexable> StructuralPartialEq for BinMatch<'a, T>
Auto Trait Implementations§
impl<'a, T> RefUnwindSafe for BinMatch<'a, T>where T: RefUnwindSafe,
impl<'a, T> Send for BinMatch<'a, T>where T: Sync,
impl<'a, T> Sync for BinMatch<'a, T>where T: Sync,
impl<'a, T> Unpin for BinMatch<'a, T>
impl<'a, T> UnwindSafe for BinMatch<'a, T>where T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more