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


-- | Fast ROT13 cipher for Haskell.
--   
--   A fast ROT13 cipher for Haskell implemented using as few branches as
--   possible. For more information on ROT13, see:
--   <a>https://en.wikipedia.org/wiki/ROT13</a>
@package rot13
@version 0.2.0.1


-- | This module exposes the API for this package.
module Codec.Rot13

-- | The <a>Rot13</a> typeclass is intended to perform the ROT13 cipher on
--   the provided data, as if it were representing a single ANSI-encoded
--   character. This interface doesn't consider the storage behaviour of
--   the type at all, but is the fastest implementation if you need to
--   integrate the transformation as part of a stream.
class Rot13 a
rot13 :: Rot13 a => a -> a

-- | The <a>Rot13Bytes</a> typeclass is intended for when you need to
--   perform the ROT13 cipher on some data at the memory level. It stores
--   the given data into a temporary buffer in memory, then runs the cipher
--   over the stored bytes to produce a new buffer. This operation is
--   typically slower than just using <a>rot13</a> as part of a fusion
--   pipeline.
class Rot13Bytes a
rot13bs :: Rot13Bytes a => a -> ByteString

-- | Perform the ROT13 cipher on the given <a>Enum</a> instance (in the
--   sense of <a>Rot13</a>).
rot13enum :: Enum a => a -> a

-- | Perform the ROT13 cipher on the given <a>Integral</a> instance (in the
--   sense of <a>Rot13</a>).
rot13int :: Integral a => a -> a
rot13word :: Word -> Word
rot13word8 :: Word8 -> Word8
rot13char :: Char -> Char
rot13string :: String -> String
instance Codec.Rot13.Rot13Bytes Data.ByteString.Internal.ByteString
instance Foreign.Storable.Storable a => Codec.Rot13.Rot13Bytes a
instance Codec.Rot13.Rot13 GHC.Types.Char
instance Codec.Rot13.Rot13 GHC.Base.String
instance Codec.Rot13.Rot13 Data.ByteString.Internal.ByteString
instance Codec.Rot13.Rot13 Data.Text.Internal.Text
instance Codec.Rot13.Rot13 GHC.Types.Word
instance Codec.Rot13.Rot13 GHC.Word.Word8
instance Codec.Rot13.Rot13 GHC.Word.Word16
instance Codec.Rot13.Rot13 GHC.Word.Word32
instance Codec.Rot13.Rot13 GHC.Word.Word64
instance Codec.Rot13.Rot13 GHC.Types.Int
instance Codec.Rot13.Rot13 GHC.Int.Int8
instance Codec.Rot13.Rot13 GHC.Int.Int16
instance Codec.Rot13.Rot13 GHC.Int.Int32
instance Codec.Rot13.Rot13 GHC.Int.Int64
instance Codec.Rot13.Rot13 GHC.Integer.Type.Integer
instance Codec.Rot13.Rot13 Foreign.C.Types.CChar
instance Codec.Rot13.Rot13 Foreign.C.Types.CSChar
instance Codec.Rot13.Rot13 Foreign.C.Types.CUChar
instance Codec.Rot13.Rot13 Foreign.C.Types.CShort
instance Codec.Rot13.Rot13 Foreign.C.Types.CUShort
instance Codec.Rot13.Rot13 Foreign.C.Types.CInt
instance Codec.Rot13.Rot13 Foreign.C.Types.CUInt
instance Codec.Rot13.Rot13 Foreign.C.Types.CLong
instance Codec.Rot13.Rot13 Foreign.C.Types.CULong
instance Codec.Rot13.Rot13 Foreign.C.Types.CWchar
instance Codec.Rot13.Rot13 Foreign.C.Types.CLLong
instance Codec.Rot13.Rot13 Foreign.C.Types.CULLong
