module Data.RadixNTree.Word8.Conversion ( Lazy.LazyRadixTree , Lazy.LazyRadix1Tree , toLazy0 , toLazy1 , Strict.StrictRadixTree , Strict.StrictRadix1Tree , toStrict0 , toStrict1 ) where import qualified Data.RadixNTree.Word8.Lazy as Lazy import qualified Data.RadixNTree.Word8.Strict as Strict toLazy0 :: Strict.StrictRadixTree a -> Lazy.LazyRadixTree a toLazy0 :: forall a. StrictRadixTree a -> LazyRadixTree a toLazy0 (Strict.RadixTree Maybe a mx Radix1Tree a t) = Maybe a -> Radix1Tree a -> RadixTree a forall a. Maybe a -> Radix1Tree a -> RadixTree a Lazy.RadixTree Maybe a mx (Radix1Tree a -> Radix1Tree a forall a. StrictRadix1Tree a -> LazyRadix1Tree a toLazy1 Radix1Tree a t) toLazy1 :: Strict.StrictRadix1Tree a -> Lazy.LazyRadix1Tree a toLazy1 :: forall a. StrictRadix1Tree a -> LazyRadix1Tree a toLazy1 StrictRadix1Tree a t = case StrictRadix1Tree a t of Strict.Bin Prefix p StrictRadix1Tree a l StrictRadix1Tree a r -> Prefix -> LazyRadix1Tree a -> LazyRadix1Tree a -> LazyRadix1Tree a forall a. Prefix -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a Lazy.Bin Prefix p (StrictRadix1Tree a -> LazyRadix1Tree a forall a. StrictRadix1Tree a -> LazyRadix1Tree a toLazy1 StrictRadix1Tree a l) (StrictRadix1Tree a -> LazyRadix1Tree a forall a. StrictRadix1Tree a -> LazyRadix1Tree a toLazy1 StrictRadix1Tree a r) Strict.Tip ByteArray arr Maybe a mx StrictRadix1Tree a dx -> ByteArray -> Maybe a -> LazyRadix1Tree a -> LazyRadix1Tree a forall a. ByteArray -> Maybe a -> Radix1Tree a -> Radix1Tree a Lazy.Tip ByteArray arr Maybe a mx (StrictRadix1Tree a -> LazyRadix1Tree a forall a. StrictRadix1Tree a -> LazyRadix1Tree a toLazy1 StrictRadix1Tree a dx) StrictRadix1Tree a Strict.Nil -> LazyRadix1Tree a forall a. Radix1Tree a Lazy.Nil toStrict0 :: Lazy.LazyRadixTree a -> Strict.StrictRadixTree a toStrict0 :: forall a. LazyRadixTree a -> StrictRadixTree a toStrict0 (Lazy.RadixTree Maybe a mx Radix1Tree a t) = Maybe a -> Radix1Tree a -> RadixTree a forall a. Maybe a -> Radix1Tree a -> RadixTree a Strict.RadixTree Maybe a mx (Radix1Tree a -> Radix1Tree a forall a. LazyRadix1Tree a -> StrictRadix1Tree a toStrict1 Radix1Tree a t) toStrict1 :: Lazy.LazyRadix1Tree a -> Strict.StrictRadix1Tree a toStrict1 :: forall a. LazyRadix1Tree a -> StrictRadix1Tree a toStrict1 LazyRadix1Tree a t = case LazyRadix1Tree a t of Lazy.Bin Prefix p LazyRadix1Tree a l LazyRadix1Tree a r -> Prefix -> StrictRadix1Tree a -> StrictRadix1Tree a -> StrictRadix1Tree a forall a. Prefix -> Radix1Tree a -> Radix1Tree a -> Radix1Tree a Strict.Bin Prefix p (LazyRadix1Tree a -> StrictRadix1Tree a forall a. LazyRadix1Tree a -> StrictRadix1Tree a toStrict1 LazyRadix1Tree a l) (LazyRadix1Tree a -> StrictRadix1Tree a forall a. LazyRadix1Tree a -> StrictRadix1Tree a toStrict1 LazyRadix1Tree a r) Lazy.Tip ByteArray arr Maybe a mx LazyRadix1Tree a dx -> ByteArray -> Maybe a -> StrictRadix1Tree a -> StrictRadix1Tree a forall a. ByteArray -> Maybe a -> Radix1Tree a -> Radix1Tree a Strict.Tip ByteArray arr Maybe a mx (LazyRadix1Tree a -> StrictRadix1Tree a forall a. LazyRadix1Tree a -> StrictRadix1Tree a toStrict1 LazyRadix1Tree a dx) LazyRadix1Tree a Lazy.Nil -> StrictRadix1Tree a forall a. Radix1Tree a Strict.Nil