Enum simple_text_editor::ops::UndoableOperation[][src]

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

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

impl Debug for UndoableOperation[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.