pub struct Cursor<D: SymbolDomain> { /* private fields */ }Expand description
A matching cursor carrying independent source and subject positions.
ⓘ
use sim_lib_pattern::{ByteDomain, ByteOffset, CodeUnitDomain, CodeUnitOffset, Cursor};
fn run_bytes(_: Cursor<ByteDomain>) {}
let text_cursor = Cursor::<CodeUnitDomain>::new(CodeUnitOffset::new(0), CodeUnitOffset::new(0));
run_bytes(text_cursor);Implementations§
Source§impl<D: SymbolDomain> Cursor<D>
impl<D: SymbolDomain> Cursor<D>
Sourcepub const fn new(source: D::Offset, subject: D::Offset) -> Self
pub const fn new(source: D::Offset, subject: D::Offset) -> Self
Creates a cursor from its pattern-source and subject positions.
Sourcepub const fn source_position(&self) -> D::Offset
pub const fn source_position(&self) -> D::Offset
Returns the position in the pattern source.
Sourcepub const fn subject_position(&self) -> D::Offset
pub const fn subject_position(&self) -> D::Offset
Returns the position in the matched subject.
Trait Implementations§
impl<D: Copy + SymbolDomain> Copy for Cursor<D>
impl<D: Eq + SymbolDomain> Eq for Cursor<D>
impl<D: PartialEq + SymbolDomain> StructuralPartialEq for Cursor<D>
Auto Trait Implementations§
impl<D> Freeze for Cursor<D>
impl<D> RefUnwindSafe for Cursor<D>
impl<D> Send for Cursor<D>
impl<D> Sync for Cursor<D>
impl<D> Unpin for Cursor<D>
impl<D> UnsafeUnpin for Cursor<D>
impl<D> UnwindSafe for Cursor<D>
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