Trait adapton::collection_edit::ListEdit
[−]
[src]
pub trait ListEdit<A: Adapton, X, T: TreeT<A, X>> { type State: Clone + Hash + Eq + PartialEq + Debug; fn empty(&mut A) -> Self::State; fn insert(&mut A, Self::State, Dir2, X) -> Self::State; fn remove(&mut A, Self::State, Dir2) -> (Self::State, Option<X>); fn replace(&mut A, Self::State, Dir2, X) -> (Self::State, X, bool); fn goto(&mut A, Self::State, Dir2) -> (Self::State, bool); fn observe(&mut A, Self::State, Dir2) -> (Self::State, Option<X>); fn clr_names(&mut A, Self::State, Dir2) -> Self::State; fn ins_name(&mut A, Self::State, Dir2, A::Name) -> Self::State; fn ins_cell(&mut A, Self::State, Dir2, A::Name) -> Self::State; fn rem_name(&mut A, Self::State, Dir2) -> (Self::State, Option<A::Name>); fn ins_tree(&mut A, Self::State, Dir2, T::Tree, Dir2) -> Self::State; fn clear_side(&mut A, Self::State, Dir2) -> Self::State; fn get_list<L: ListT<A, X>>(&mut A, Self::State, Dir2) -> L::List; fn get_tree(&mut A, Self::State, Dir2) -> T::Tree; fn insert_optnm(st: &mut A, z: Self::State, dir: Dir2, nm: Option<A::Name>, elm: X) -> Self::State { ... } fn move_optnm(st: &mut A, z: Self::State, dir: Dir2, nm: Option<A::Name>) -> (Self::State, bool) { ... } }
ListEdit<A,X,L>
gives a simple notion of list-editing that is
generic with respect to adapton implementation A
, list element
type X
, and list implementation L
.