hunt-searchengine-0.3.0.1: A search and indexing engine.

Safe HaskellSafe-Inferred
LanguageHaskell98

Data.IntMap.BinTree.Strict

Synopsis

Documentation

type Key = Int Source

type IntMap v = Tree v Source

data Tree v Source

Constructors

Empty 
Node !Key !v !(Tree v) !(Tree v) 
Lt !Key !v !(Tree v) 
Gt !Key !v !(Tree v) 
Leaf !Key !v 

Instances

Functor Tree 
Foldable Tree 
Traversable Tree 
Eq v => Eq (Tree v) 
Show v => Show (Tree v) 
Binary v => Binary (Tree v) 
NFData v => NFData (Tree v) 
Typeable (* -> *) Tree 

traverseWithKey :: Applicative t => (Key -> a -> t b) -> Tree a -> t (Tree b) Source

mkNode :: Key -> v -> Tree v -> Tree v -> Tree v Source

unNode :: Tree v -> (Key, v, Tree v, Tree v) Source

split' :: Key -> Tree v -> (Maybe v, Tree v, Tree v) Source

join' :: Maybe (Key, v) -> Tree v -> Tree v -> Tree v Source

lookup :: Key -> Tree v -> Maybe v Source

insertWith :: (v -> v -> v) -> Key -> v -> Tree v -> Tree v Source

delete :: Key -> Tree v -> Tree v Source

find :: Key -> Tree v -> v Source

findWithDefault :: v -> Key -> Tree v -> v Source

insert :: Key -> v -> Tree v -> Tree v Source

sizeWithLimit :: Int -> Tree v -> Maybe Int Source

retuns the size of a tree or Nothing if size t > limit

limits the computation time to O(limit), not O(size)

union :: Tree v -> Tree v -> Tree v Source

unionWith :: (v -> v -> v) -> Tree v -> Tree v -> Tree v Source

unionWithKey' :: (Key -> v -> v -> v) -> Tree v -> Tree v -> Tree v Source

unionsWith :: (v -> v -> v) -> [Tree v] -> Tree v Source

difference :: Tree a -> Tree b -> Tree a Source

differenceWith :: (a -> b -> Maybe a) -> Tree a -> Tree b -> Tree a Source

differenceWithKey' :: (Key -> a -> b -> Maybe a) -> Tree a -> Tree b -> Tree a Source

intersectionWith :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source

intersectionWithKey' :: (Key -> a -> b -> c) -> Tree a -> Tree b -> Tree c Source

equal :: Eq v => Tree v -> Tree v -> Bool Source

map :: (a -> b) -> Tree a -> Tree b Source

mapWithKey :: (Key -> a -> b) -> Tree a -> Tree b Source

filter :: (a -> Bool) -> Tree a -> Tree a Source

filterWithKey :: (Key -> a -> Bool) -> Tree a -> Tree a Source

foldr :: (a -> b -> b) -> b -> Tree a -> b Source

foldr' :: (a -> b -> b) -> b -> Tree a -> b Source

foldrWithKey :: (Key -> a -> b -> b) -> b -> Tree a -> b Source

foldrWithKey' :: (Key -> a -> b -> b) -> b -> Tree a -> b Source

foldl :: (b -> a -> b) -> b -> Tree a -> b Source

foldl' :: (b -> a -> b) -> b -> Tree a -> b Source

foldlWithKey :: (b -> Key -> a -> b) -> b -> Tree a -> b Source

foldlWithKey' :: (b -> Key -> a -> b) -> b -> Tree a -> b Source

fromList :: [(Key, v)] -> Tree v Source

fromSet :: (Key -> v) -> IntSet -> Tree v Source

fromAscList :: [(Key, v)] -> Tree v Source

toTr :: Int -> Tree v -> [(Key, v)] -> Tree v Source

scan :: Int -> [(Key, v)] -> (Tree v, [(Key, v)]) Source

toAscList :: Tree v -> [(Key, v)] Source

toList :: Tree v -> [(Key, v)] Source

assocs :: Tree v -> [(Key, v)] Source

elems :: Tree v -> [v] Source

keys :: Tree v -> [Key] Source

minView :: Tree v -> Maybe (v, Tree v) Source

maxView :: Tree v -> Maybe (v, Tree v) Source

first :: (a -> c) -> (a, b) -> (c, b) Source

unionWithKey :: (Key -> v -> v -> v) -> Tree v -> Tree v -> Tree v Source

intersectionWithKey :: (Key -> a -> b -> c) -> Tree a -> Tree b -> Tree c Source

differenceWithKey :: (Key -> a -> b -> Maybe a) -> Tree a -> Tree b -> Tree a Source