-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Fast base16 (hex) encoding and decoding for ByteStrings
--   
--   Fast base16 (hex) encoding and decoding for ByteStrings
@package base16-bytestring
@version 0.1.1.6


-- | Fast and efficient encoding and decoding of base16-encoded strings.
module Data.ByteString.Base16

-- | Encode a string into base16 form. The result will always be a multiple
--   of 2 bytes in length.
--   
--   Example:
--   
--   <pre>
--   encode "foo"  == "666f6f"
--   </pre>
encode :: ByteString -> ByteString

-- | Decode a string from base16 form. The first element of the returned
--   tuple contains the decoded data. The second element starts at the
--   first invalid base16 sequence in the original string.
--   
--   Examples:
--   
--   <pre>
--   decode "666f6f"  == ("foo", "")
--   decode "66quux"  == ("f", "quux")
--   decode "666quux" == ("f", "6quux")
--   </pre>
decode :: ByteString -> (ByteString, ByteString)


-- | Fast and efficient encoding and decoding of base16-encoded strings.
module Data.ByteString.Base16.Lazy

-- | Encode a string into base16 form. The result will always be a multiple
--   of 2 bytes in length.
--   
--   Example:
--   
--   <pre>
--   encode "foo"  == "666f6f"
--   </pre>
encode :: ByteString -> ByteString

-- | Decode a string from base16 form. The first element of the returned
--   tuple contains the decoded data. The second element starts at the
--   first invalid base16 sequence in the original string.
--   
--   This function operates as lazily as possible over the input chunks.
--   The only instance in which it is non-lazy is if an odd-length chunk
--   ends with a byte that is valid base16.
--   
--   Examples:
--   
--   <pre>
--   decode "666f6f"  == ("foo", "")
--   decode "66quux"  == ("f", "quux")
--   decode "666quux" == ("f", "6quux")
--   </pre>
decode :: ByteString -> (ByteString, ByteString)
