VTPushParser

Struct VTPushParser 

Source
pub struct VTPushParser<const INTEREST: u8 = VT_PARSER_INTEREST_ALL> { /* private fields */ }

Implementations§

Source§

impl VTPushParser

Source

pub const fn new() -> Self

Source

pub fn decode_buffer<'a>(input: &'a [u8], cb: impl for<'b> FnMut(VTEvent<'b>))

Decode a buffer of bytes into a series of events.

Source

pub const fn new_with_interest<const INTEREST: u8>() -> VTPushParser<INTEREST>

Source§

impl<const INTEREST: u8> VTPushParser<INTEREST>

Source

pub fn feed_with<'this, 'input, F: for<'any> FnMut(VTEvent<'any>)>( &'this mut self, input: &'input [u8], cb: &mut F, )

Feed bytes into the parser. This is the main entry point for the parser. It will call the callback with events as they are emitted.

The callback must be valid for the lifetime of the feed_with call.

The callback may emit any number of events (including zero), depending on the state of the internal parser.

Source

pub fn feed_with_abortable<'this, 'input, F: for<'any> FnMut(VTEvent<'any>) -> bool>( &'this mut self, input: &'input [u8], cb: &mut F, ) -> usize

Feed bytes into the parser. This is the main entry point for the parser. It will call the callback with events as they are emitted.

The callback must be valid for the lifetime of the feed_with call. Returning true will continue parsing, while returning false will stop.

The callback may emit any number of events (including zero), depending on the state of the internal parser.

This function returns the number of bytes processed. Note that some bytes may have been processed any not emitted.

Source

pub fn idle(&mut self) -> Option<VTEvent<'static>>

Feed an idle event into the parser. This will emit a C0(ESC) event if the parser is in the Escape state, and will silently cancel any EscInt state.

Source

pub fn finish<F: FnMut(VTEvent<'_>)>(&mut self, cb: &mut F)

Auto Trait Implementations§

§

impl<const INTEREST: u8> Freeze for VTPushParser<INTEREST>

§

impl<const INTEREST: u8> RefUnwindSafe for VTPushParser<INTEREST>

§

impl<const INTEREST: u8> Send for VTPushParser<INTEREST>

§

impl<const INTEREST: u8> Sync for VTPushParser<INTEREST>

§

impl<const INTEREST: u8> Unpin for VTPushParser<INTEREST>

§

impl<const INTEREST: u8> UnwindSafe for VTPushParser<INTEREST>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.