module Data.RadixTree.Word8.Strict
( StrictRadixTree
, RadixTree (..)
, module Data.RadixTree.Word8.Key
, empty
, singleton
, toLazy
, Data.RadixTree.Word8.Strict.lookup
, Data.RadixTree.Word8.Strict.find
, Data.RadixTree.Word8.Strict.member
, subtree
, insert
, insertWith
, insertWith'
, adjust
, adjust'
, delete
, prune
, update
, alter
, shape
, SplitLookup (..)
, splitLookup
, Openness (..)
, Lookup (..)
, lookupL
, lookupR
, adjustL
, adjustL'
, adjustLWithKey
, adjustLWithKey'
, adjustR
, adjustR'
, adjustRWithKey
, adjustRWithKey'
, updateL
, updateLWithKey
, updateR
, updateRWithKey
, Split (..)
, takeL
, splitL
, takeR
, lookupMin
, lookupMinWithKey
, lookupMax
, lookupMaxWithKey
, adjustMin
, adjustMin'
, adjustMinWithKey
, adjustMinWithKey'
, adjustMax
, adjustMax'
, adjustMaxWithKey
, adjustMaxWithKey'
, deleteMin
, deleteMax
, updateMin
, updateMinWithKey
, updateMax
, updateMaxWithKey
, ViewL (..)
, minView
, ViewR (..)
, maxView
, Data.RadixTree.Word8.Strict.null
, size
, prefix
, Data.RadixTree.Word8.Strict.map
, map'
, mapWithKey
, mapWithKey'
, Data.RadixTree.Word8.Strict.foldl
, Data.RadixTree.Word8.Strict.foldl'
, foldlWithKey
, foldlWithKey'
, Data.RadixTree.Word8.Strict.foldr
, Data.RadixTree.Word8.Strict.foldr'
, foldrWithKey
, foldrWithKey'
, Data.RadixTree.Word8.Strict.foldMap
, foldMapWithKey
, Data.RadixTree.Word8.Strict.traverse
, traverseWithKey
, Data.RadixTree.Word8.Strict.filter
, filterWithKey
, mapMaybe
, mapMaybeWithKey
, partition
, partitionWithKey
, mapEither
, mapEitherWithKey
, PartialOrdering (..)
, Data.RadixTree.Word8.Strict.compare
, union
, unionL
, unionWith'
, unionWithKey'
, difference
, differenceWith
, differenceWithKey
, disjoint
, intersection
, intersectionL
, intersectionWith'
, intersectionWithKey'
) where
import Data.RadixTree.Word8.Key
import Data.RadixNTree.Word8.Common
import Data.RadixNTree.Word8.Conversion
import Data.RadixNTree.Word8.Strict
import Radix.Common
empty :: RadixTree a
empty :: forall a. RadixTree a
empty = RadixTree a
forall a. RadixTree a
empty0
{-# INLINE singleton #-}
singleton :: Feed -> a -> RadixTree a
singleton :: forall a. Feed -> a -> RadixTree a
singleton = Feed -> a -> RadixTree a
forall a. Feed -> a -> RadixTree a
singleton0
toLazy :: StrictRadixTree a -> LazyRadixTree a
toLazy :: forall a. StrictRadixTree a -> LazyRadixTree a
toLazy = StrictRadixTree a -> LazyRadixTree a
forall a. StrictRadixTree a -> LazyRadixTree a
toLazy0
null :: RadixTree a -> Bool
null :: forall a. RadixTree a -> Bool
null = RadixTree a -> Bool
forall a. RadixTree a -> Bool
null0
size :: RadixTree a -> Int
size :: forall a. RadixTree a -> Int
size = RadixTree a -> Int
forall a. RadixTree a -> Int
size0
map :: (a -> b) -> RadixTree a -> RadixTree b
map :: forall a b. (a -> b) -> RadixTree a -> RadixTree b
map = (a -> b) -> RadixTree a -> RadixTree b
forall a b. (a -> b) -> RadixTree a -> RadixTree b
map0
map' :: (a -> b) -> RadixTree a -> RadixTree b
map' :: forall a b. (a -> b) -> RadixTree a -> RadixTree b
map' = (a -> b) -> RadixTree a -> RadixTree b
forall a b. (a -> b) -> RadixTree a -> RadixTree b
map0'
mapWithKey :: (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey :: forall a b. (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey = (Build -> a -> b) -> RadixTree a -> RadixTree b
forall a b. (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey0
mapWithKey' :: (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey' :: forall a b. (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey' = (Build -> a -> b) -> RadixTree a -> RadixTree b
forall a b. (Build -> a -> b) -> RadixTree a -> RadixTree b
mapWithKey0'
foldl :: (b -> a -> b) -> b -> RadixTree a -> b
foldl :: forall b a. (b -> a -> b) -> b -> RadixTree a -> b
foldl = (b -> a -> b) -> b -> RadixTree a -> b
forall b a. (b -> a -> b) -> b -> RadixTree a -> b
Data.RadixNTree.Word8.Strict.foldl0
foldlWithKey :: (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey :: forall b a. (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey = (b -> Build -> a -> b) -> b -> RadixTree a -> b
forall b a. (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey0
foldl' :: (b -> a -> b) -> b -> RadixTree a -> b
foldl' :: forall b a. (b -> a -> b) -> b -> RadixTree a -> b
foldl' = (b -> a -> b) -> b -> RadixTree a -> b
forall b a. (b -> a -> b) -> b -> RadixTree a -> b
foldl0'
foldlWithKey' :: (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey' :: forall b a. (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey' = (b -> Build -> a -> b) -> b -> RadixTree a -> b
forall b a. (b -> Build -> a -> b) -> b -> RadixTree a -> b
foldlWithKey0'
foldr :: (a -> b -> b) -> b -> RadixTree a -> b
foldr :: forall a b. (a -> b -> b) -> b -> RadixTree a -> b
foldr = (a -> b -> b) -> b -> RadixTree a -> b
forall a b. (a -> b -> b) -> b -> RadixTree a -> b
Data.RadixNTree.Word8.Strict.foldr0
foldrWithKey :: (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey :: forall a b. (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey = (Build -> a -> b -> b) -> b -> RadixTree a -> b
forall a b. (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey0
foldr' :: (a -> b -> b) -> b -> RadixTree a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> RadixTree a -> b
foldr' = (a -> b -> b) -> b -> RadixTree a -> b
forall a b. (a -> b -> b) -> b -> RadixTree a -> b
foldr0'
foldrWithKey' :: (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey' :: forall a b. (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey' = (Build -> a -> b -> b) -> b -> RadixTree a -> b
forall a b. (Build -> a -> b -> b) -> b -> RadixTree a -> b
foldrWithKey0'
foldMap :: Monoid m => (a -> m) -> RadixTree a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> RadixTree a -> m
foldMap = (a -> m) -> RadixTree a -> m
forall m a. Monoid m => (a -> m) -> RadixTree a -> m
foldMap0
foldMapWithKey :: Monoid m => (Build -> a -> m) -> RadixTree a -> m
foldMapWithKey :: forall m a. Monoid m => (Build -> a -> m) -> RadixTree a -> m
foldMapWithKey = (Build -> a -> m) -> RadixTree a -> m
forall m a. Monoid m => (Build -> a -> m) -> RadixTree a -> m
foldMapWithKey0
traverse :: Applicative f => (a -> f b) -> RadixTree a -> f (RadixTree b)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> RadixTree a -> f (RadixTree b)
traverse = (a -> f b) -> RadixTree a -> f (RadixTree b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> RadixTree a -> f (RadixTree b)
traverse0
traverseWithKey
:: Applicative f => (Build -> a -> f b) -> RadixTree a -> f (RadixTree b)
traverseWithKey :: forall (f :: * -> *) a b.
Applicative f =>
(Build -> a -> f b) -> RadixTree a -> f (RadixTree b)
traverseWithKey = (Build -> a -> f b) -> RadixTree a -> f (RadixTree b)
forall (f :: * -> *) a b.
Applicative f =>
(Build -> a -> f b) -> RadixTree a -> f (RadixTree b)
traverseWithKey0
filter :: (a -> Bool) -> RadixTree a -> RadixTree a
filter :: forall a. (a -> Bool) -> RadixTree a -> RadixTree a
filter = (a -> Bool) -> RadixTree a -> RadixTree a
forall a. (a -> Bool) -> RadixTree a -> RadixTree a
filter0
filterWithKey :: (Build -> a -> Bool) -> RadixTree a -> RadixTree a
filterWithKey :: forall a. (Build -> a -> Bool) -> RadixTree a -> RadixTree a
filterWithKey = (Build -> a -> Bool) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> Bool) -> RadixTree a -> RadixTree a
filterWithKey0
mapMaybe :: (a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybe :: forall a b. (a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybe = (a -> Maybe b) -> RadixTree a -> RadixTree b
forall a b. (a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybe0
mapMaybeWithKey :: (Build -> a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybeWithKey :: forall a b. (Build -> a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybeWithKey = (Build -> a -> Maybe b) -> RadixTree a -> RadixTree b
forall a b. (Build -> a -> Maybe b) -> RadixTree a -> RadixTree b
mapMaybeWithKey0
partition :: (a -> Bool) -> RadixTree a -> Split a a
partition :: forall a. (a -> Bool) -> RadixTree a -> Split a a
partition = (a -> Bool) -> RadixTree a -> Split a a
forall a. (a -> Bool) -> RadixTree a -> Split a a
partition0
partitionWithKey :: (Build -> a -> Bool) -> RadixTree a -> Split a a
partitionWithKey :: forall a. (Build -> a -> Bool) -> RadixTree a -> Split a a
partitionWithKey = (Build -> a -> Bool) -> RadixTree a -> Split a a
forall a. (Build -> a -> Bool) -> RadixTree a -> Split a a
partitionWithKey0
mapEither :: (a -> Either b c) -> RadixTree a -> Split b c
mapEither :: forall a b c. (a -> Either b c) -> RadixTree a -> Split b c
mapEither = (a -> Either b c) -> RadixTree a -> Split b c
forall a b c. (a -> Either b c) -> RadixTree a -> Split b c
mapEither0
mapEitherWithKey :: (Build -> a -> Either b c) -> RadixTree a -> Split b c
mapEitherWithKey :: forall a b c.
(Build -> a -> Either b c) -> RadixTree a -> Split b c
mapEitherWithKey = (Build -> a -> Either b c) -> RadixTree a -> Split b c
forall a b c.
(Build -> a -> Either b c) -> RadixTree a -> Split b c
mapEitherWithKey0
{-# INLINE lookup #-}
lookup :: Feed -> RadixTree a -> Maybe a
lookup :: forall a. Feed -> RadixTree a -> Maybe a
lookup = Feed -> RadixTree a -> Maybe a
forall a. Feed -> RadixTree a -> Maybe a
lookup0
{-# INLINE find #-}
find :: a -> Feed -> RadixTree a -> a
find :: forall a. a -> Feed -> RadixTree a -> a
find = a -> Feed -> RadixTree a -> a
forall a. a -> Feed -> RadixTree a -> a
find0
{-# INLINE member #-}
member :: Feed -> RadixTree a -> Bool
member :: forall a. Feed -> RadixTree a -> Bool
member = Feed -> RadixTree a -> Bool
forall a. Feed -> RadixTree a -> Bool
member0
{-# INLINE subtree #-}
subtree :: Feed -> RadixTree a -> RadixTree a
subtree :: forall a. Feed -> RadixTree a -> RadixTree a
subtree = Feed -> RadixTree a -> RadixTree a
forall a. Feed -> RadixTree a -> RadixTree a
subtree0
{-# INLINE prefix #-}
prefix :: Feed -> RadixTree a -> RadixTree a
prefix :: forall a. Feed -> RadixTree a -> RadixTree a
prefix = Feed -> RadixTree a -> RadixTree a
forall a. Feed -> RadixTree a -> RadixTree a
prefix0
{-# INLINE insert #-}
insert :: Feed -> a -> RadixTree a -> RadixTree a
insert :: forall a. Feed -> a -> RadixTree a -> RadixTree a
insert = Feed -> a -> RadixTree a -> RadixTree a
forall a. Feed -> a -> RadixTree a -> RadixTree a
insert0
{-# INLINE insertWith #-}
insertWith :: (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith :: forall a. (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith = (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
forall a. (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith0
{-# INLINE insertWith' #-}
insertWith' :: (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith' :: forall a. (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith' = (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
forall a. (a -> a) -> Feed -> a -> RadixTree a -> RadixTree a
insertWith0'
{-# INLINE adjust #-}
adjust :: (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust :: forall a. (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust = (a -> a) -> Feed -> RadixTree a -> RadixTree a
forall a. (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust0
{-# INLINE adjust' #-}
adjust' :: (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust' :: forall a. (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust' = (a -> a) -> Feed -> RadixTree a -> RadixTree a
forall a. (a -> a) -> Feed -> RadixTree a -> RadixTree a
adjust0'
{-# INLINE delete #-}
delete :: Feed -> RadixTree a -> RadixTree a
delete :: forall a. Feed -> RadixTree a -> RadixTree a
delete = Feed -> RadixTree a -> RadixTree a
forall a. Feed -> RadixTree a -> RadixTree a
delete0
{-# INLINE prune #-}
prune :: Openness -> Feed -> RadixTree a -> RadixTree a
prune :: forall a. Openness -> Feed -> RadixTree a -> RadixTree a
prune = Openness -> Feed -> RadixTree a -> RadixTree a
forall a. Openness -> Feed -> RadixTree a -> RadixTree a
prune0
{-# INLINE update #-}
update :: (a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
update :: forall a. (a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
update = (a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
forall a. (a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
update0
{-# INLINE alter #-}
alter :: (Maybe a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
alter :: forall a.
(Maybe a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
alter = (Maybe a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
forall a.
(Maybe a -> Maybe a) -> Feed -> RadixTree a -> RadixTree a
alter0
{-# INLINE shape #-}
shape :: (RadixTree a -> RadixTree a) -> Feed -> RadixTree a -> RadixTree a
shape :: forall a.
(RadixTree a -> RadixTree a) -> Feed -> RadixTree a -> RadixTree a
shape = (RadixTree a -> RadixTree a) -> Feed -> RadixTree a -> RadixTree a
forall a.
(RadixTree a -> RadixTree a) -> Feed -> RadixTree a -> RadixTree a
shape0
{-# INLINE splitLookup #-}
splitLookup :: Feed -> RadixTree a -> SplitLookup a a a
splitLookup :: forall a. Feed -> RadixTree a -> SplitLookup a a a
splitLookup = Feed -> RadixTree a -> SplitLookup a a a
forall a. Feed -> RadixTree a -> SplitLookup a a a
splitLookup0
{-# INLINE lookupL #-}
lookupL :: Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupL :: forall a. Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupL = Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
forall a. Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupL0
{-# INLINE lookupR #-}
lookupR :: Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupR :: forall a. Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupR = Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
forall a. Openness -> Feed -> RadixTree a -> Maybe (Lookup a)
lookupR0
{-# INLINE adjustL #-}
adjustL :: (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL :: forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL = (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL0
{-# INLINE adjustL' #-}
adjustL' :: (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL' :: forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL' = (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustL0'
{-# INLINE adjustLWithKey #-}
adjustLWithKey :: (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey :: forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey = (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey0
{-# INLINE adjustLWithKey' #-}
adjustLWithKey' :: (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey' :: forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey' = (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustLWithKey0'
{-# INLINE adjustR #-}
adjustR :: (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR :: forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR = (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR0
{-# INLINE adjustR' #-}
adjustR' :: (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR' :: forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR' = (a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustR0'
{-# INLINE adjustRWithKey #-}
adjustRWithKey :: (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey :: forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey = (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey0
{-# INLINE adjustRWithKey' #-}
adjustRWithKey' :: (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey' :: forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey' = (Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> a) -> Openness -> Feed -> RadixTree a -> RadixTree a
adjustRWithKey0'
{-# INLINE updateL #-}
updateL :: (a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateL :: forall a.
(a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateL = (a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateL0
{-# INLINE updateLWithKey #-}
updateLWithKey :: (Build -> a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateLWithKey :: forall a.
(Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
updateLWithKey = (Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
updateLWithKey0
{-# INLINE updateR #-}
updateR :: (a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateR :: forall a.
(a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateR = (a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateR0
{-# INLINE updateRWithKey #-}
updateRWithKey :: (Build -> a -> Maybe a) -> Openness -> Feed -> RadixTree a -> RadixTree a
updateRWithKey :: forall a.
(Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
updateRWithKey = (Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> Maybe a)
-> Openness -> Feed -> RadixTree a -> RadixTree a
updateRWithKey0
{-# INLINE takeL #-}
takeL :: Openness -> Feed -> RadixTree a -> RadixTree a
takeL :: forall a. Openness -> Feed -> RadixTree a -> RadixTree a
takeL = Openness -> Feed -> RadixTree a -> RadixTree a
forall a. Openness -> Feed -> RadixTree a -> RadixTree a
takeL0
{-# INLINE takeR #-}
takeR :: Openness -> Feed -> RadixTree a -> RadixTree a
takeR :: forall a. Openness -> Feed -> RadixTree a -> RadixTree a
takeR = Openness -> Feed -> RadixTree a -> RadixTree a
forall a. Openness -> Feed -> RadixTree a -> RadixTree a
takeR0
{-# INLINE splitL #-}
splitL :: Openness -> Feed -> RadixTree a -> Split a a
splitL :: forall a. Openness -> Feed -> RadixTree a -> Split a a
splitL = Openness -> Feed -> RadixTree a -> Split a a
forall a. Openness -> Feed -> RadixTree a -> Split a a
splitL0
lookupMin :: RadixTree a -> Maybe a
lookupMin :: forall a. RadixTree a -> Maybe a
lookupMin = RadixTree a -> Maybe a
forall a. RadixTree a -> Maybe a
lookupMin0
lookupMinWithKey :: RadixTree a -> Maybe (Lookup a)
lookupMinWithKey :: forall a. RadixTree a -> Maybe (Lookup a)
lookupMinWithKey = RadixTree a -> Maybe (Lookup a)
forall a. RadixTree a -> Maybe (Lookup a)
lookupMinWithKey0
deleteMin :: RadixTree a -> RadixTree a
deleteMin :: forall a. RadixTree a -> RadixTree a
deleteMin = RadixTree a -> RadixTree a
forall a. RadixTree a -> RadixTree a
deleteMin0
adjustMin :: (a -> a) -> RadixTree a -> RadixTree a
adjustMin :: forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMin = (a -> a) -> RadixTree a -> RadixTree a
forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMin0
adjustMinWithKey :: (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey :: forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey = (Build -> a -> a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey0
adjustMin' :: (a -> a) -> RadixTree a -> RadixTree a
adjustMin' :: forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMin' = (a -> a) -> RadixTree a -> RadixTree a
forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMin0'
adjustMinWithKey' :: (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey' :: forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey' = (Build -> a -> a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMinWithKey0'
updateMin :: (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMin :: forall a. (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMin = (a -> Maybe a) -> RadixTree a -> RadixTree a
forall a. (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMin0
updateMinWithKey :: (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMinWithKey :: forall a. (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMinWithKey = (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMinWithKey0
minView :: RadixTree a -> Maybe (ViewL a)
minView :: forall a. RadixTree a -> Maybe (ViewL a)
minView = RadixTree a -> Maybe (ViewL a)
forall a. RadixTree a -> Maybe (ViewL a)
minView0
lookupMax :: RadixTree a -> Maybe a
lookupMax :: forall a. RadixTree a -> Maybe a
lookupMax = RadixTree a -> Maybe a
forall a. RadixTree a -> Maybe a
lookupMax0
lookupMaxWithKey :: RadixTree a -> Maybe (Lookup a)
lookupMaxWithKey :: forall a. RadixTree a -> Maybe (Lookup a)
lookupMaxWithKey = RadixTree a -> Maybe (Lookup a)
forall a. RadixTree a -> Maybe (Lookup a)
lookupMaxWithKey0
deleteMax :: RadixTree a -> RadixTree a
deleteMax :: forall a. RadixTree a -> RadixTree a
deleteMax = RadixTree a -> RadixTree a
forall a. RadixTree a -> RadixTree a
deleteMax0
adjustMax :: (a -> a) -> RadixTree a -> RadixTree a
adjustMax :: forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMax = (a -> a) -> RadixTree a -> RadixTree a
forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMax0
adjustMaxWithKey :: (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey :: forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey = (Build -> a -> a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey0
adjustMax' :: (a -> a) -> RadixTree a -> RadixTree a
adjustMax' :: forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMax' = (a -> a) -> RadixTree a -> RadixTree a
forall a. (a -> a) -> RadixTree a -> RadixTree a
adjustMax0'
adjustMaxWithKey' :: (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey' :: forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey' = (Build -> a -> a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> a) -> RadixTree a -> RadixTree a
adjustMaxWithKey0'
updateMax :: (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMax :: forall a. (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMax = (a -> Maybe a) -> RadixTree a -> RadixTree a
forall a. (a -> Maybe a) -> RadixTree a -> RadixTree a
updateMax0
updateMaxWithKey :: (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMaxWithKey :: forall a. (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMaxWithKey = (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
forall a. (Build -> a -> Maybe a) -> RadixTree a -> RadixTree a
updateMaxWithKey0
maxView :: RadixTree a -> Maybe (ViewR a)
maxView :: forall a. RadixTree a -> Maybe (ViewR a)
maxView = RadixTree a -> Maybe (ViewR a)
forall a. RadixTree a -> Maybe (ViewR a)
maxView0
union :: RadixTree a -> RadixTree a -> RadixTree a
union :: forall a. RadixTree a -> RadixTree a -> RadixTree a
union = RadixTree a -> RadixTree a -> RadixTree a
forall a. RadixTree a -> RadixTree a -> RadixTree a
union0
unionL :: RadixTree a -> RadixTree a -> RadixTree a
unionL :: forall a. RadixTree a -> RadixTree a -> RadixTree a
unionL = RadixTree a -> RadixTree a -> RadixTree a
forall a. RadixTree a -> RadixTree a -> RadixTree a
unionL0
unionWith' :: (a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWith' :: forall a.
(a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWith' = (a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
forall a.
(a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWith0'
unionWithKey' :: (Build -> a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWithKey' :: forall a.
(Build -> a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWithKey' = (Build -> a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
forall a.
(Build -> a -> a -> a) -> RadixTree a -> RadixTree a -> RadixTree a
unionWithKey0'
difference :: RadixTree a -> RadixTree b -> RadixTree a
difference :: forall a b. RadixTree a -> RadixTree b -> RadixTree a
difference = RadixTree a -> RadixTree b -> RadixTree a
forall a b. RadixTree a -> RadixTree b -> RadixTree a
difference0
differenceWith
:: (a -> b -> Maybe a) -> RadixTree a -> RadixTree b -> RadixTree a
differenceWith :: forall a b.
(a -> b -> Maybe a) -> RadixTree a -> RadixTree b -> RadixTree a
differenceWith = (a -> b -> Maybe a) -> RadixTree a -> RadixTree b -> RadixTree a
forall a b.
(a -> b -> Maybe a) -> RadixTree a -> RadixTree b -> RadixTree a
differenceWith0
differenceWithKey
:: (Build -> a -> b -> Maybe a) -> RadixTree a -> RadixTree b -> RadixTree a
differenceWithKey :: forall a b.
(Build -> a -> b -> Maybe a)
-> RadixTree a -> RadixTree b -> RadixTree a
differenceWithKey = (Build -> a -> b -> Maybe a)
-> RadixTree a -> RadixTree b -> RadixTree a
forall a b.
(Build -> a -> b -> Maybe a)
-> RadixTree a -> RadixTree b -> RadixTree a
differenceWithKey0
compare :: (a -> b -> Bool) -> RadixTree a -> RadixTree b -> PartialOrdering
compare :: forall a b.
(a -> b -> Bool) -> RadixTree a -> RadixTree b -> PartialOrdering
compare = (a -> b -> Bool) -> RadixTree a -> RadixTree b -> PartialOrdering
forall a b.
(a -> b -> Bool) -> RadixTree a -> RadixTree b -> PartialOrdering
compare0
disjoint :: RadixTree a -> RadixTree b -> Bool
disjoint :: forall a b. RadixTree a -> RadixTree b -> Bool
disjoint = RadixTree a -> RadixTree b -> Bool
forall a b. RadixTree a -> RadixTree b -> Bool
disjoint0
intersection :: RadixTree a -> RadixTree a -> RadixTree a
intersection :: forall a. RadixTree a -> RadixTree a -> RadixTree a
intersection = RadixTree a -> RadixTree a -> RadixTree a
forall a. RadixTree a -> RadixTree a -> RadixTree a
intersection0
intersectionL :: RadixTree a -> RadixTree b -> RadixTree a
intersectionL :: forall a b. RadixTree a -> RadixTree b -> RadixTree a
intersectionL = RadixTree a -> RadixTree b -> RadixTree a
forall a b. RadixTree a -> RadixTree b -> RadixTree a
intersectionL0
intersectionWith' :: (a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWith' :: forall a b c.
(a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWith' = (a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
forall a b c.
(a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWith0'
intersectionWithKey' :: (Build -> a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWithKey' :: forall a b c.
(Build -> a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWithKey' = (Build -> a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
forall a b c.
(Build -> a -> b -> c) -> RadixTree a -> RadixTree b -> RadixTree c
intersectionWithKey0'