Trait StrDrive

Source
pub trait StrDrive: Copy {
    // Required methods
    fn count(&self) -> usize;
    fn create_cursor(&self, n: usize) -> StringCursor;
    fn adjust_cursor(&self, cursor: &mut StringCursor, n: usize);
    fn advance(cursor: &mut StringCursor) -> u32;
    fn peek(cursor: &StringCursor) -> u32;
    fn skip(cursor: &mut StringCursor, n: usize);
    fn back_advance(cursor: &mut StringCursor) -> u32;
    fn back_peek(cursor: &StringCursor) -> u32;
    fn back_skip(cursor: &mut StringCursor, n: usize);
}

Required Methods§

Source

fn count(&self) -> usize

Source

fn create_cursor(&self, n: usize) -> StringCursor

Source

fn adjust_cursor(&self, cursor: &mut StringCursor, n: usize)

Source

fn advance(cursor: &mut StringCursor) -> u32

Source

fn peek(cursor: &StringCursor) -> u32

Source

fn skip(cursor: &mut StringCursor, n: usize)

Source

fn back_advance(cursor: &mut StringCursor) -> u32

Source

fn back_peek(cursor: &StringCursor) -> u32

Source

fn back_skip(cursor: &mut StringCursor, n: usize)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl StrDrive for &str

Source§

fn count(&self) -> usize

Source§

fn create_cursor(&self, n: usize) -> StringCursor

Source§

fn adjust_cursor(&self, cursor: &mut StringCursor, n: usize)

Source§

fn advance(cursor: &mut StringCursor) -> u32

Source§

fn peek(cursor: &StringCursor) -> u32

Source§

fn skip(cursor: &mut StringCursor, n: usize)

Source§

fn back_advance(cursor: &mut StringCursor) -> u32

Source§

fn back_peek(cursor: &StringCursor) -> u32

Source§

fn back_skip(cursor: &mut StringCursor, n: usize)

Source§

impl<'a> StrDrive for &'a [u8]

Source§

fn count(&self) -> usize

Source§

fn create_cursor(&self, n: usize) -> StringCursor

Source§

fn adjust_cursor(&self, cursor: &mut StringCursor, n: usize)

Source§

fn advance(cursor: &mut StringCursor) -> u32

Source§

fn peek(cursor: &StringCursor) -> u32

Source§

fn skip(cursor: &mut StringCursor, n: usize)

Source§

fn back_advance(cursor: &mut StringCursor) -> u32

Source§

fn back_peek(cursor: &StringCursor) -> u32

Source§

fn back_skip(cursor: &mut StringCursor, n: usize)

Implementors§