{-# OPTIONS_HADDOCK not-home #-}
module Data.RadixTree.Word8.Lazy.Unsafe
( RadixTree (..)
, Radix1Tree (..)
, Prefix
, Key
, beyond
, upper
, lower
, Mask
, zeroBit
, mask
, branchingBit
, MalformedTree (..)
, merge
) where
import Data.RadixNTree.Word8.Key
import Data.RadixNTree.Word8.Lazy
import Radix.Exception
import Radix.Word8.Foundation
{-# INLINE merge #-}
merge
:: (Build -> a -> b -> Maybe c)
-> (Build -> a -> Maybe c)
-> (Build -> Radix1Tree a -> Radix1Tree c)
-> (Build -> b -> Maybe c)
-> (Build -> Radix1Tree b -> Radix1Tree c)
-> RadixTree a
-> RadixTree b
-> RadixTree c
merge :: forall a b c.
(Build -> a -> b -> Maybe c)
-> (Build -> a -> Maybe c)
-> (Build -> Radix1Tree a -> Radix1Tree c)
-> (Build -> b -> Maybe c)
-> (Build -> Radix1Tree b -> Radix1Tree c)
-> RadixTree a
-> RadixTree b
-> RadixTree c
merge = (Build -> a -> b -> Maybe c)
-> (Build -> a -> Maybe c)
-> (Build -> Radix1Tree a -> Radix1Tree c)
-> (Build -> b -> Maybe c)
-> (Build -> Radix1Tree b -> Radix1Tree c)
-> RadixTree a
-> RadixTree b
-> RadixTree c
forall a b c.
(Build -> a -> b -> Maybe c)
-> (Build -> a -> Maybe c)
-> (Build -> Radix1Tree a -> Radix1Tree c)
-> (Build -> b -> Maybe c)
-> (Build -> Radix1Tree b -> Radix1Tree c)
-> RadixTree a
-> RadixTree b
-> RadixTree c
merge0