Struct iodyn::raz::Raz [] [src]

pub struct Raz<E: Debug + Clone + Eq + Hash + 'static, M: RazMeta<E> + 'static> { /* fields omitted */ }

Random access zipper

A cursor into a sequence

Methods

impl<E: Debug + Clone + Eq + Hash + 'static, M: RazMeta<E>> Raz<E, M>
[src]

Create a new RAZ, for an empty sequence

unfocus the RazTree before refocusing on a new location in the sequence.

add an element to the left of the cursor

returns number of non-archived elements

add an element to the right of the cursor

returns number of non-archived elements

peek at the element to the left of the cursor

peek at the element to the left of the cursor

mark the data at the left to be part of a subsequence

mark the data at the right to be part of a subsequence

remove and return an element to the left of the cursor

if an archive point is to the left of the cursor, it will be removed

remove and return an element to the right of the cursor

if an archive point is to the right of the cursor, it will be removed

Trait Implementations

impl<E: Clone + Debug + Clone + Eq + Hash + 'static, M: Clone + RazMeta<E> + 'static> Clone for Raz<E, M>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<E: Eq + Debug + Clone + Eq + Hash + 'static, M: Eq + RazMeta<E> + 'static> Eq for Raz<E, M>
[src]

impl<E: PartialEq + Debug + Clone + Eq + Hash + 'static, M: PartialEq + RazMeta<E> + 'static> PartialEq for Raz<E, M>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<E: Hash + Debug + Clone + Eq + Hash + 'static, M: Hash + RazMeta<E> + 'static> Hash for Raz<E, M>
[src]

Feeds this value into the given [Hasher]. Read more

Feeds a slice of this type into the given [Hasher]. Read more

impl<E: Debug + Debug + Clone + Eq + Hash + 'static, M: Debug + RazMeta<E> + 'static> Debug for Raz<E, M>
[src]

Formats the value using the given formatter.