module Data.Radix1Tree.Word8.Strict
( StrictRadix1Tree
, Radix1Tree
, RadixTree (..)
, module Data.Radix1Tree.Word8.Key
, empty
, singleton
, toLazy
, Data.Radix1Tree.Word8.Strict.lookup
, Data.Radix1Tree.Word8.Strict.find
, Data.Radix1Tree.Word8.Strict.member
, subtree
, Cursor
, cursor
, move
, stop
, Location (..)
, locate
, insert
, insertWith
, insertWith'
, adjust
, adjust'
, delete
, prune
, update
, alter
, shape
, SplitLookup1 (..)
, splitLookup
, Openness (..)
, Lookup1 (..)
, lookupL
, lookupR
, adjustL
, adjustL'
, adjustLWithKey
, adjustLWithKey'
, adjustR
, adjustR'
, adjustRWithKey
, adjustRWithKey'
, updateL
, updateLWithKey
, updateR
, updateRWithKey
, Split1 (..)
, takeL
, splitL
, takeR
, lookupMin
, lookupMinWithKey
, lookupMax
, lookupMaxWithKey
, adjustMin
, adjustMin'
, adjustMinWithKey
, adjustMinWithKey'
, adjustMax
, adjustMax'
, adjustMaxWithKey
, adjustMaxWithKey'
, deleteMin
, deleteMax
, updateMin
, updateMinWithKey
, updateMax
, updateMaxWithKey
, ViewL1 (..)
, minView
, ViewR1 (..)
, maxView
, Data.Radix1Tree.Word8.Strict.null
, size
, prefix
, Data.Radix1Tree.Word8.Strict.map
, map'
, mapWithKey
, mapWithKey'
, Data.Radix1Tree.Word8.Strict.foldl
, Data.Radix1Tree.Word8.Strict.foldl'
, foldlWithKey
, foldlWithKey'
, Data.Radix1Tree.Word8.Strict.foldr
, Data.Radix1Tree.Word8.Strict.foldr'
, foldrWithKey
, foldrWithKey'
, Data.Radix1Tree.Word8.Strict.foldMap
, foldMapWithKey
, Data.Radix1Tree.Word8.Strict.traverse
, traverseWithKey
, Data.Radix1Tree.Word8.Strict.filter
, filterWithKey
, mapMaybe
, mapMaybeWithKey
, partition
, partitionWithKey
, mapEither
, mapEitherWithKey
, PartialOrdering (..)
, Data.Radix1Tree.Word8.Strict.compare
, union
, unionL
, unionWith'
, unionWithKey'
, difference
, differenceWith
, differenceWithKey
, disjoint
, intersection
, intersectionL
, intersectionWith'
, intersectionWithKey'
) where
import Data.Radix1Tree.Word8.Key
import Data.RadixNTree.Word8.Common
import Data.RadixNTree.Word8.Conversion
import Data.RadixNTree.Word8.Strict
import Radix.Common
empty :: Radix1Tree a
empty :: forall a. Radix1Tree a
empty = Radix1Tree a
forall a. Radix1Tree a
empty1
{-# INLINE singleton #-}
singleton :: Feed1 -> a -> Radix1Tree a
singleton :: forall a. Feed1 -> a -> Radix1Tree a
singleton = Feed1 -> a -> Radix1Tree a
forall a. Feed1 -> a -> Radix1Tree a
singleton1
toLazy :: StrictRadix1Tree a -> LazyRadix1Tree a
toLazy :: forall a. StrictRadix1Tree a -> LazyRadix1Tree a
toLazy = StrictRadix1Tree a -> LazyRadix1Tree a
forall a. StrictRadix1Tree a -> LazyRadix1Tree a
toLazy1
null :: Radix1Tree a -> Bool
null :: forall a. Radix1Tree a -> Bool
null = Radix1Tree a -> Bool
forall a. Radix1Tree a -> Bool
null1
size :: Radix1Tree a -> Int
size :: forall a. Radix1Tree a -> Int
size = Radix1Tree a -> Int
forall a. Radix1Tree a -> Int
size1
map :: (a -> b) -> Radix1Tree a -> Radix1Tree b
map :: forall a b. (a -> b) -> Radix1Tree a -> Radix1Tree b
map = (a -> b) -> Radix1Tree a -> Radix1Tree b
forall a b. (a -> b) -> Radix1Tree a -> Radix1Tree b
map1
map' :: (a -> b) -> Radix1Tree a -> Radix1Tree b
map' :: forall a b. (a -> b) -> Radix1Tree a -> Radix1Tree b
map' = (a -> b) -> Radix1Tree a -> Radix1Tree b
forall a b. (a -> b) -> Radix1Tree a -> Radix1Tree b
map1'
mapWithKey :: (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey :: forall a b. (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey = (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
forall a b. (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey1
mapWithKey' :: (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey' :: forall a b. (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey' = (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
forall a b. (Build1 -> a -> b) -> Radix1Tree a -> Radix1Tree b
mapWithKey1'
foldl :: (b -> a -> b) -> b -> Radix1Tree a -> b
foldl :: forall b a. (b -> a -> b) -> b -> Radix1Tree a -> b
foldl = (b -> a -> b) -> b -> Radix1Tree a -> b
forall b a. (b -> a -> b) -> b -> Radix1Tree a -> b
Data.RadixNTree.Word8.Strict.foldl1
foldlWithKey :: (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey :: forall b a. (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey = (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
forall b a. (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey1
foldl' :: (b -> a -> b) -> b -> Radix1Tree a -> b
foldl' :: forall b a. (b -> a -> b) -> b -> Radix1Tree a -> b
foldl' = (b -> a -> b) -> b -> Radix1Tree a -> b
forall b a. (b -> a -> b) -> b -> Radix1Tree a -> b
foldl1'
foldlWithKey' :: (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey' :: forall b a. (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey' = (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
forall b a. (b -> Build1 -> a -> b) -> b -> Radix1Tree a -> b
foldlWithKey1'
foldr :: (a -> b -> b) -> b -> Radix1Tree a -> b
foldr :: forall a b. (a -> b -> b) -> b -> Radix1Tree a -> b
foldr = (a -> b -> b) -> b -> Radix1Tree a -> b
forall a b. (a -> b -> b) -> b -> Radix1Tree a -> b
Data.RadixNTree.Word8.Strict.foldr1
foldrWithKey :: (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey :: forall a b. (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey = (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
forall a b. (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey1
foldr' :: (a -> b -> b) -> b -> Radix1Tree a -> b
foldr' :: forall a b. (a -> b -> b) -> b -> Radix1Tree a -> b
foldr' = (a -> b -> b) -> b -> Radix1Tree a -> b
forall a b. (a -> b -> b) -> b -> Radix1Tree a -> b
foldr1'
foldrWithKey' :: (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey' :: forall a b. (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey' = (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
forall a b. (Build1 -> a -> b -> b) -> b -> Radix1Tree a -> b
foldrWithKey1'
foldMap :: Monoid m => (a -> m) -> Radix1Tree a -> m
foldMap :: forall m a. Monoid m => (a -> m) -> Radix1Tree a -> m
foldMap = (a -> m) -> Radix1Tree a -> m
forall m a. Monoid m => (a -> m) -> Radix1Tree a -> m
foldMap1
foldMapWithKey :: Monoid m => (Build1 -> a -> m) -> Radix1Tree a -> m
foldMapWithKey :: forall m a. Monoid m => (Build1 -> a -> m) -> Radix1Tree a -> m
foldMapWithKey = (Build1 -> a -> m) -> Radix1Tree a -> m
forall m a. Monoid m => (Build1 -> a -> m) -> Radix1Tree a -> m
foldMapWithKey1
traverse :: Applicative f => (a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverse :: forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverse = (a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
forall (f :: * -> *) a b.
Applicative f =>
(a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverse1
traverseWithKey
:: Applicative f => (Build1 -> a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverseWithKey :: forall (f :: * -> *) a b.
Applicative f =>
(Build1 -> a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverseWithKey = (Build1 -> a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
forall (f :: * -> *) a b.
Applicative f =>
(Build1 -> a -> f b) -> Radix1Tree a -> f (Radix1Tree b)
traverseWithKey1
filter :: (a -> Bool) -> Radix1Tree a -> Radix1Tree a
filter :: forall a. (a -> Bool) -> Radix1Tree a -> Radix1Tree a
filter = (a -> Bool) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> Bool) -> Radix1Tree a -> Radix1Tree a
filter1
filterWithKey :: (Build1 -> a -> Bool) -> Radix1Tree a -> Radix1Tree a
filterWithKey :: forall a. (Build1 -> a -> Bool) -> Radix1Tree a -> Radix1Tree a
filterWithKey = (Build1 -> a -> Bool) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> Bool) -> Radix1Tree a -> Radix1Tree a
filterWithKey1
mapMaybe :: (a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybe :: forall a b. (a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybe = (a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
forall a b. (a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybe1
mapMaybeWithKey :: (Build1 -> a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybeWithKey :: forall a b.
(Build1 -> a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybeWithKey = (Build1 -> a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
forall a b.
(Build1 -> a -> Maybe b) -> Radix1Tree a -> Radix1Tree b
mapMaybeWithKey1
partition :: (a -> Bool) -> Radix1Tree a -> Split1 a a
partition :: forall a. (a -> Bool) -> Radix1Tree a -> Split1 a a
partition = (a -> Bool) -> Radix1Tree a -> Split1 a a
forall a. (a -> Bool) -> Radix1Tree a -> Split1 a a
partition1
partitionWithKey :: (Build1 -> a -> Bool) -> Radix1Tree a -> Split1 a a
partitionWithKey :: forall a. (Build1 -> a -> Bool) -> Radix1Tree a -> Split1 a a
partitionWithKey = (Build1 -> a -> Bool) -> Radix1Tree a -> Split1 a a
forall a. (Build1 -> a -> Bool) -> Radix1Tree a -> Split1 a a
partitionWithKey1
mapEither :: (a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEither :: forall a b c. (a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEither = (a -> Either b c) -> Radix1Tree a -> Split1 b c
forall a b c. (a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEither1
mapEitherWithKey :: (Build1 -> a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEitherWithKey :: forall a b c.
(Build1 -> a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEitherWithKey = (Build1 -> a -> Either b c) -> Radix1Tree a -> Split1 b c
forall a b c.
(Build1 -> a -> Either b c) -> Radix1Tree a -> Split1 b c
mapEitherWithKey1
{-# INLINE lookup #-}
lookup :: Feed1 -> Radix1Tree a -> Maybe a
lookup :: forall a. Feed1 -> Radix1Tree a -> Maybe a
lookup = Feed1 -> Radix1Tree a -> Maybe a
forall a. Feed1 -> Radix1Tree a -> Maybe a
lookup1
{-# INLINE find #-}
find :: a -> Feed1 -> Radix1Tree a -> a
find :: forall a. a -> Feed1 -> Radix1Tree a -> a
find = a -> Feed1 -> Radix1Tree a -> a
forall a. a -> Feed1 -> Radix1Tree a -> a
find1
{-# INLINE member #-}
member :: Feed1 -> Radix1Tree a -> Bool
member :: forall a. Feed1 -> Radix1Tree a -> Bool
member = Feed1 -> Radix1Tree a -> Bool
forall a. Feed1 -> Radix1Tree a -> Bool
member1
{-# INLINE subtree #-}
subtree :: Feed1 -> Radix1Tree a -> RadixTree a
subtree :: forall a. Feed1 -> Radix1Tree a -> RadixTree a
subtree = Feed1 -> Radix1Tree a -> RadixTree a
forall a. Feed1 -> Radix1Tree a -> RadixTree a
subtree1
{-# INLINE prefix #-}
prefix :: Feed1 -> RadixTree a -> Radix1Tree a
prefix :: forall a. Feed1 -> RadixTree a -> Radix1Tree a
prefix = Feed1 -> RadixTree a -> Radix1Tree a
forall a. Feed1 -> RadixTree a -> Radix1Tree a
prefix1
cursor :: Radix1Tree a -> Cursor a
cursor :: forall a. Radix1Tree a -> Cursor a
cursor = Radix1Tree a -> Cursor a
forall a. Radix1Tree a -> Cursor a
cursor1
{-# INLINE move #-}
move :: Feed1 -> Cursor a -> Cursor a
move :: forall a. Feed1 -> Cursor a -> Cursor a
move = Feed1 -> Cursor a -> Cursor a
forall a. Feed1 -> Cursor a -> Cursor a
move1
{-# INLINE insert #-}
insert :: Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insert :: forall a. Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insert = Feed1 -> a -> Radix1Tree a -> Radix1Tree a
forall a. Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insert1
{-# INLINE insertWith #-}
insertWith :: (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith :: forall a. (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith = (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith1
{-# INLINE insertWith' #-}
insertWith' :: (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith' :: forall a. (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith' = (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Feed1 -> a -> Radix1Tree a -> Radix1Tree a
insertWith1'
{-# INLINE adjust #-}
adjust :: (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust :: forall a. (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust = (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust1
{-# INLINE adjust' #-}
adjust' :: (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust' :: forall a. (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust' = (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjust1'
{-# INLINE delete #-}
delete :: Feed1 -> Radix1Tree a -> Radix1Tree a
delete :: forall a. Feed1 -> Radix1Tree a -> Radix1Tree a
delete = Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. Feed1 -> Radix1Tree a -> Radix1Tree a
delete1
{-# INLINE prune #-}
prune :: Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
prune :: forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
prune = Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
prune1
{-# INLINE update #-}
update :: (a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
update :: forall a. (a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
update = (a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. (a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
update1
{-# INLINE alter #-}
alter :: (Maybe a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
alter :: forall a.
(Maybe a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
alter = (Maybe a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Maybe a -> Maybe a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
alter1
{-# INLINE shape #-}
shape :: (RadixTree a -> RadixTree a) -> Feed1 -> Radix1Tree a -> Radix1Tree a
shape :: forall a.
(RadixTree a -> RadixTree a)
-> Feed1 -> Radix1Tree a -> Radix1Tree a
shape = (RadixTree a -> RadixTree a)
-> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(RadixTree a -> RadixTree a)
-> Feed1 -> Radix1Tree a -> Radix1Tree a
shape1
{-# INLINE splitLookup #-}
splitLookup :: Feed1 -> Radix1Tree a -> SplitLookup1 a a a
splitLookup :: forall a. Feed1 -> Radix1Tree a -> SplitLookup1 a a a
splitLookup = Feed1 -> Radix1Tree a -> SplitLookup1 a a a
forall a. Feed1 -> Radix1Tree a -> SplitLookup1 a a a
splitLookup1
{-# INLINE lookupL #-}
lookupL :: Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupL :: forall a. Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupL = Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
forall a. Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupL1
{-# INLINE lookupR #-}
lookupR :: Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupR :: forall a. Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupR = Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
forall a. Openness -> Feed1 -> Radix1Tree a -> Maybe (Lookup1 a)
lookupR1
{-# INLINE adjustL #-}
adjustL :: (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL :: forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL = (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL1
{-# INLINE adjustL' #-}
adjustL' :: (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL' :: forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL' = (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustL1'
{-# INLINE adjustLWithKey #-}
adjustLWithKey :: (Build1 -> a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey :: forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey = (Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey1
{-# INLINE adjustLWithKey' #-}
adjustLWithKey' :: (Build1 -> a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey' :: forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey' = (Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustLWithKey1'
{-# INLINE adjustR #-}
adjustR :: (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR :: forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR = (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR1
{-# INLINE adjustR' #-}
adjustR' :: (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR' :: forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR' = (a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustR1'
{-# INLINE adjustRWithKey #-}
adjustRWithKey :: (Build1 -> a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey :: forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey = (Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey1
{-# INLINE adjustRWithKey' #-}
adjustRWithKey' :: (Build1 -> a -> a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey' :: forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey' = (Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
adjustRWithKey1'
{-# INLINE updateL #-}
updateL :: (a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateL :: forall a.
(a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateL = (a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateL1
{-# INLINE updateLWithKey #-}
updateLWithKey :: (Build1 -> a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateLWithKey :: forall a.
(Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateLWithKey = (Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateLWithKey1
{-# INLINE updateR #-}
updateR :: (a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateR :: forall a.
(a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateR = (a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateR1
{-# INLINE updateRWithKey #-}
updateRWithKey :: (Build1 -> a -> Maybe a) -> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateRWithKey :: forall a.
(Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateRWithKey = (Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> Maybe a)
-> Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
updateRWithKey1
{-# INLINE takeL #-}
takeL :: Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeL :: forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeL = Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeL1
{-# INLINE takeR #-}
takeR :: Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeR :: forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeR = Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
forall a. Openness -> Feed1 -> Radix1Tree a -> Radix1Tree a
takeR1
{-# INLINE splitL #-}
splitL :: Openness -> Feed1 -> Radix1Tree a -> Split1 a a
splitL :: forall a. Openness -> Feed1 -> Radix1Tree a -> Split1 a a
splitL = Openness -> Feed1 -> Radix1Tree a -> Split1 a a
forall a. Openness -> Feed1 -> Radix1Tree a -> Split1 a a
splitL1
lookupMin :: Radix1Tree a -> Maybe a
lookupMin :: forall a. Radix1Tree a -> Maybe a
lookupMin = Radix1Tree a -> Maybe a
forall a. Radix1Tree a -> Maybe a
lookupMin1
lookupMinWithKey :: Radix1Tree a -> Maybe (Lookup1 a)
lookupMinWithKey :: forall a. Radix1Tree a -> Maybe (Lookup1 a)
lookupMinWithKey = Radix1Tree a -> Maybe (Lookup1 a)
forall a. Radix1Tree a -> Maybe (Lookup1 a)
lookupMinWithKey1
deleteMin :: Radix1Tree a -> Radix1Tree a
deleteMin :: forall a. Radix1Tree a -> Radix1Tree a
deleteMin = Radix1Tree a -> Radix1Tree a
forall a. Radix1Tree a -> Radix1Tree a
deleteMin1
adjustMin :: (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin :: forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin = (a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin1
adjustMinWithKey :: (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey :: forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey = (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey1
adjustMin' :: (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin' :: forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin' = (a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMin1'
adjustMinWithKey' :: (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey' :: forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey' = (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMinWithKey1'
updateMin :: (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMin :: forall a. (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMin = (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMin1
updateMinWithKey :: (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMinWithKey :: forall a. (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMinWithKey = (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMinWithKey1
minView :: Radix1Tree a -> Maybe (ViewL1 a)
minView :: forall a. Radix1Tree a -> Maybe (ViewL1 a)
minView = Radix1Tree a -> Maybe (ViewL1 a)
forall a. Radix1Tree a -> Maybe (ViewL1 a)
minView1
lookupMax :: Radix1Tree a -> Maybe a
lookupMax :: forall a. Radix1Tree a -> Maybe a
lookupMax = Radix1Tree a -> Maybe a
forall a. Radix1Tree a -> Maybe a
lookupMax1
lookupMaxWithKey :: Radix1Tree a -> Maybe (Lookup1 a)
lookupMaxWithKey :: forall a. Radix1Tree a -> Maybe (Lookup1 a)
lookupMaxWithKey = Radix1Tree a -> Maybe (Lookup1 a)
forall a. Radix1Tree a -> Maybe (Lookup1 a)
lookupMaxWithKey1
deleteMax :: Radix1Tree a -> Radix1Tree a
deleteMax :: forall a. Radix1Tree a -> Radix1Tree a
deleteMax = Radix1Tree a -> Radix1Tree a
forall a. Radix1Tree a -> Radix1Tree a
deleteMax1
adjustMax :: (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax :: forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax = (a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax1
adjustMaxWithKey :: (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey :: forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey = (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey1
adjustMax' :: (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax' :: forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax' = (a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMax1'
adjustMaxWithKey' :: (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey' :: forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey' = (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> a) -> Radix1Tree a -> Radix1Tree a
adjustMaxWithKey1'
updateMax :: (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMax :: forall a. (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMax = (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
forall a. (a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMax1
updateMaxWithKey :: (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMaxWithKey :: forall a. (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMaxWithKey = (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
forall a. (Build1 -> a -> Maybe a) -> Radix1Tree a -> Radix1Tree a
updateMaxWithKey1
maxView :: Radix1Tree a -> Maybe (ViewR1 a)
maxView :: forall a. Radix1Tree a -> Maybe (ViewR1 a)
maxView = Radix1Tree a -> Maybe (ViewR1 a)
forall a. Radix1Tree a -> Maybe (ViewR1 a)
maxView1
union :: Radix1Tree a -> Radix1Tree a -> Radix1Tree a
union :: forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
union = Radix1Tree a -> Radix1Tree a -> Radix1Tree a
forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
union1
unionL :: Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionL :: forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionL = Radix1Tree a -> Radix1Tree a -> Radix1Tree a
forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionL1
unionWith' :: (a -> a -> a) -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWith' :: forall a.
(a -> a -> a) -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWith' = (a -> a -> a) -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
forall a.
(a -> a -> a) -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWith1'
unionWithKey' :: (Build1 -> a -> a -> a) -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWithKey' :: forall a.
(Build1 -> a -> a -> a)
-> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWithKey' = (Build1 -> a -> a -> a)
-> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
forall a.
(Build1 -> a -> a -> a)
-> Radix1Tree a -> Radix1Tree a -> Radix1Tree a
unionWithKey1'
difference :: Radix1Tree a -> Radix1Tree b -> Radix1Tree a
difference :: forall a b. Radix1Tree a -> Radix1Tree b -> Radix1Tree a
difference = Radix1Tree a -> Radix1Tree b -> Radix1Tree a
forall a b. Radix1Tree a -> Radix1Tree b -> Radix1Tree a
difference1
differenceWith
:: (a -> b -> Maybe a) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWith :: forall a b.
(a -> b -> Maybe a) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWith = (a -> b -> Maybe a) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
forall a b.
(a -> b -> Maybe a) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWith1
differenceWithKey
:: (Build1 -> a -> b -> Maybe a) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWithKey :: forall a b.
(Build1 -> a -> b -> Maybe a)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWithKey = (Build1 -> a -> b -> Maybe a)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
forall a b.
(Build1 -> a -> b -> Maybe a)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree a
differenceWithKey1
compare :: (a -> b -> Bool) -> Radix1Tree a -> Radix1Tree b -> PartialOrdering
compare :: forall a b.
(a -> b -> Bool) -> Radix1Tree a -> Radix1Tree b -> PartialOrdering
compare = (a -> b -> Bool) -> Radix1Tree a -> Radix1Tree b -> PartialOrdering
forall a b.
(a -> b -> Bool) -> Radix1Tree a -> Radix1Tree b -> PartialOrdering
compare1
disjoint :: Radix1Tree a -> Radix1Tree b -> Bool
disjoint :: forall a b. Radix1Tree a -> Radix1Tree b -> Bool
disjoint = Radix1Tree a -> Radix1Tree b -> Bool
forall a b. Radix1Tree a -> Radix1Tree b -> Bool
disjoint1
intersection :: Radix1Tree a -> Radix1Tree a -> Radix1Tree a
intersection :: forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
intersection = Radix1Tree a -> Radix1Tree a -> Radix1Tree a
forall a. Radix1Tree a -> Radix1Tree a -> Radix1Tree a
intersection1
intersectionL :: Radix1Tree a -> Radix1Tree b -> Radix1Tree a
intersectionL :: forall a b. Radix1Tree a -> Radix1Tree b -> Radix1Tree a
intersectionL = Radix1Tree a -> Radix1Tree b -> Radix1Tree a
forall a b. Radix1Tree a -> Radix1Tree b -> Radix1Tree a
intersectionL1
intersectionWith' :: (a -> b -> c) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWith' :: forall a b c.
(a -> b -> c) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWith' = (a -> b -> c) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
forall a b c.
(a -> b -> c) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWith1'
intersectionWithKey' :: (Build1 -> a -> b -> c) -> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWithKey' :: forall a b c.
(Build1 -> a -> b -> c)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWithKey' = (Build1 -> a -> b -> c)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
forall a b c.
(Build1 -> a -> b -> c)
-> Radix1Tree a -> Radix1Tree b -> Radix1Tree c
intersectionWithKey1'