treemap-2.0.0.20161218: A tree of Data.Map.

Safe HaskellSafe
LanguageHaskell98

Data.TreeMap.Strict.Zipper

Contents

Synopsis

Type Zipper

data Zipper k a Source #

Constructors

Zipper 

Fields

Instances

(Eq k, Eq a) => Eq (Zipper k a) Source # 

Methods

(==) :: Zipper k a -> Zipper k a -> Bool #

(/=) :: Zipper k a -> Zipper k a -> Bool #

(Ord k, Data a, Data k) => Data (Zipper k a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Zipper k a -> c (Zipper k a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Zipper k a) #

toConstr :: Zipper k a -> Constr #

dataTypeOf :: Zipper k a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Zipper k a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Zipper k a)) #

gmapT :: (forall b. Data b => b -> b) -> Zipper k a -> Zipper k a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Zipper k a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Zipper k a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Zipper k a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Zipper k a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Zipper k a -> m (Zipper k a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Zipper k a -> m (Zipper k a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Zipper k a -> m (Zipper k a) #

(Show k, Show a) => Show (Zipper k a) Source # 

Methods

showsPrec :: Int -> Zipper k a -> ShowS #

show :: Zipper k a -> String #

showList :: [Zipper k a] -> ShowS #

zipper :: TreeMap k a -> Zipper k a Source #

zipper_root :: Ord k => Zipper k a -> TreeMap k a Source #

Type Zipper_Step

data Zipper_Step k a Source #

Constructors

Zipper_Step 

Instances

(Eq k, Eq a) => Eq (Zipper_Step k a) Source # 

Methods

(==) :: Zipper_Step k a -> Zipper_Step k a -> Bool #

(/=) :: Zipper_Step k a -> Zipper_Step k a -> Bool #

(Ord k, Data a, Data k) => Data (Zipper_Step k a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Zipper_Step k a -> c (Zipper_Step k a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Zipper_Step k a) #

toConstr :: Zipper_Step k a -> Constr #

dataTypeOf :: Zipper_Step k a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Zipper_Step k a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Zipper_Step k a)) #

gmapT :: (forall b. Data b => b -> b) -> Zipper_Step k a -> Zipper_Step k a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Zipper_Step k a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Zipper_Step k a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Zipper_Step k a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Zipper_Step k a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Zipper_Step k a -> m (Zipper_Step k a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Zipper_Step k a -> m (Zipper_Step k a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Zipper_Step k a -> m (Zipper_Step k a) #

(Show k, Show a) => Show (Zipper_Step k a) Source # 

Methods

showsPrec :: Int -> Zipper_Step k a -> ShowS #

show :: Zipper_Step k a -> String #

showList :: [Zipper_Step k a] -> ShowS #

Axis

zipper_collect :: (z -> Maybe z) -> z -> [z] Source #

Collect all Zippers along a given axis, including the first Zipper.

zipper_collect_without_self :: (z -> Maybe z) -> z -> [z] Source #

Collect all Zippers along a given axis, excluding the first Zipper.

Axis self

Axis child

zipper_child :: Ord k => Zipper k a -> [Zipper k a] Source #

zipper_child_lookup :: (Ord k, Alternative f) => k -> Zipper k a -> f (Zipper k a) Source #

Axis ancestor

zipper_ancestor :: Ord k => Zipper k a -> [Zipper k a] Source #

Axis descendant

zipper_descendant :: Ord k => Zipper k a -> [Zipper k a] Source #

zipper_descendant_lookup :: (Ord k, Alternative f, Monad f) => Path k -> Zipper k a -> f (Zipper k a) Source #

Axis preceding

zipper_prec :: (Ord k, Alternative f) => Zipper k a -> f (Zipper k a) Source #

zipper_preceding :: Ord k => Zipper k a -> [Zipper k a] Source #

Axis following

zipper_foll :: (Ord k, Alternative f) => Zipper k a -> f (Zipper k a) Source #

zipper_following :: Ord k => Zipper k a -> [Zipper k a] Source #

Axis parent

zipper_parent :: (Ord k, Alternative f) => Zipper k a -> f (Zipper k a) Source #

Filter

zipper_filter :: (Zipper k a -> [Zipper k a]) -> (Zipper k a -> Bool) -> Zipper k a -> [Zipper k a] infixl 5 Source #

zipper_at :: Alternative f => (Zipper k a -> [Zipper k a]) -> Int -> Zipper k a -> f (Zipper k a) infixl 5 Source #

zipper_null :: (Zipper k a -> [Zipper k a]) -> Zipper k a -> Bool Source #