Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Stylist.Tree
Description
Abstracts away tree traversals. Mostly used by callers including (soon) XML Conduit Stylist, but also used internally for generating counter text.
Synopsis
- data StyleTree p = StyleTree {}
- treeOrder :: (c -> c -> Path -> p -> (c, p')) -> c -> StyleTree p -> StyleTree p'
- treeOrder' :: (c -> c -> Path -> p -> (c, p')) -> c -> c -> Path -> [StyleTree p] -> (c, [StyleTree p'])
- type Path = [Integer]
- treeMap :: (p -> p') -> StyleTree p -> StyleTree p'
- treeFind :: StyleTree p -> (p -> Bool) -> [p]
- treeFlatten :: StyleTree p -> [p]
- treeFlattenAll :: StyleTree p -> [p]
- preorder :: (Maybe b -> Maybe b -> a -> b) -> StyleTree a -> StyleTree b
- preorder' :: (Maybe b -> Maybe b -> a -> b) -> Maybe b -> Maybe b -> [StyleTree a] -> [StyleTree b]
- postorder :: (a -> [b] -> [b]) -> StyleTree a -> [StyleTree b]
Documentation
A generic tree, variable numbers of children.
treeOrder :: (c -> c -> Path -> p -> (c, p')) -> c -> StyleTree p -> StyleTree p' Source #
Preorder traversal of the tree.
treeOrder' :: (c -> c -> Path -> p -> (c, p')) -> c -> c -> Path -> [StyleTree p] -> (c, [StyleTree p']) Source #
Preorder traversal of the tree managing per-layer contexts.
treeMap :: (p -> p') -> StyleTree p -> StyleTree p' Source #
Runs a callback over all style
properties in the tree.
treeFind :: StyleTree p -> (p -> Bool) -> [p] Source #
Find the styltree node matching the given predicate.
treeFlatten :: StyleTree p -> [p] Source #
Flatten a styletree into a list.
treeFlattenAll :: StyleTree p -> [p] Source #
Flatten a styletree into a list, including parent nodes.
preorder :: (Maybe b -> Maybe b -> a -> b) -> StyleTree a -> StyleTree b Source #
Preorder traversal over a tree, without tracking contexts.