Trait adapton::catalog::collections::RoseIntro
[−]
[src]
pub trait RoseIntro<Leaf, Branch>: Debug + Clone + Hash + PartialEq + Eq { type List: ListElim<Self>; fn leaf(_: Leaf) -> Self; fn branch(_: Branch, _: Self::List) -> Self; fn name(_: Name, _: Self) -> Self; fn art(_: Art<Self>) -> Self; }
Rose Trees: A tree with arbitrary branching at each node. See also, Definition 2 (page 2) of [Parallel Implementation of Tree Skeletons, by D.B. Skillicorn 1995.] (http://ftp.qucis.queensu.ca/TechReports/Reports/1995-380.pdf)
Associated Types
Required Methods
fn leaf(_: Leaf) -> Self
Introduce a leaf with exactly zero children
fn branch(_: Branch, _: Self::List) -> Self
Introduce a branch with zero or more subtrees
fn name(_: Name, _: Self) -> Self
Introduce a Named subtree
fn art(_: Art<Self>) -> Self
Introduce a list with an articulation that holds a list