UndoableOperation

Enum UndoableOperation 

Source
pub enum UndoableOperation {
    Append(usize),
    Delete(Vec<u8>),
}
Expand description

Contains all possible operations which are eligible for “undo”. Append and Delete maintain the inverse of their Operation type counterparts, and hold the data necessary to undo the operation on the buffer.

Variants§

§

Append(usize)

The undo operation for a previously executed append command. The associated usize is the count of characters which had been appended, and should now be deleted from the back of the buffer.

§

Delete(Vec<u8>)

The undo operation for a previously executed delete command. The associated Vec<u8> is the set of characters which had been previously popped from the back of the buffer, and should now be re-appended. Note, the characters are in reverse-order, which is the natural order after they had been popped from the buffer. As an optimization, the program will lazily re-order these to be pushed onto the buffer so they are accurately re-appended.

Trait Implementations§

Source§

impl Debug for UndoableOperation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

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.