radix-tree-1.0.0.0: src/Data/RadixTree/Word8/Key.hs
{-|
Safe functions for building and destroying radix tree keys.
-}
module Data.RadixTree.Word8.Key
( -- * Build
Build
-- ** Raw
, buildBytes
-- ** ByteString
, buildByteString
, buildShortByteString
-- ** Text
-- | See "Data.RadixTree.Word8.Key.Unsafe#g:build/text".
-- * Feed
, Feed
-- ** Raw
, feedBytes
-- ** ByteString
, feedByteString
, feedShortByteString
, feedLazyByteString
-- ** Text
, feedText
, feedLazyText
) where
import Data.RadixNTree.Word8.Key
import qualified Data.ByteString as Strict (ByteString)
import qualified Data.ByteString.Lazy as Lazy (ByteString)
import Data.ByteString.Short (ShortByteString)
import qualified Data.Text as Strict (Text)
import qualified Data.Text.Lazy as Lazy (Text)
import Data.Word
-- | Convert a key into a list of bytes.
buildBytes :: Build -> [Word8]
buildBytes = buildBytes0
-- | Convert a key into a strict 'Strict.ByteString'.
buildByteString :: Build -> Strict.ByteString
buildByteString = buildByteString0
-- | Convert a key into a 'ShortByteString'.
buildShortByteString :: Build -> ShortByteString
buildShortByteString = buildShortByteString0
{-# INLINE feedBytes #-}
-- | Convert a list of bytes into a key.
feedBytes :: [Word8] -> Feed
feedBytes = feedBytes0
{-# INLINE feedByteString #-}
-- | Convert a strict 'Strict.ByteString' into a key.
feedByteString :: Strict.ByteString -> Feed
feedByteString = feedByteString0
{-# INLINE feedShortByteString #-}
-- | Convert a 'ShortByteString' into a key.
feedShortByteString :: ShortByteString -> Feed
feedShortByteString = feedShortByteString0
{-# INLINE feedLazyByteString #-}
-- | Convert a lazy 'Lazy.ByteString' into a key.
feedLazyByteString :: Lazy.ByteString -> Feed
feedLazyByteString = feedLazyByteString0
{-# INLINE feedText #-}
-- | Convert a strict 'Strict.Text' into a key.
feedText :: Strict.Text -> Feed
feedText = feedText0
{-# INLINE feedLazyText #-}
-- | Convert a lazy 'Lazy.Text' into a key.
feedLazyText :: Lazy.Text -> Feed
feedLazyText = feedLazyText0