bytestring-conversion-0.3.1: Type-classes to convert values to and from ByteString.

Safe HaskellNone
LanguageHaskell2010

Data.ByteString.Conversion

Synopsis

Documentation

class ToByteString a where #

Minimal complete definition

builder

Methods

builder :: a -> Builder #

Instances

ToByteString Bool # 

Methods

builder :: Bool -> Builder #

ToByteString Char # 

Methods

builder :: Char -> Builder #

ToByteString Double # 

Methods

builder :: Double -> Builder #

ToByteString Float # 

Methods

builder :: Float -> Builder #

ToByteString Int # 

Methods

builder :: Int -> Builder #

ToByteString Int8 # 

Methods

builder :: Int8 -> Builder #

ToByteString Int16 # 

Methods

builder :: Int16 -> Builder #

ToByteString Int32 # 

Methods

builder :: Int32 -> Builder #

ToByteString Int64 # 

Methods

builder :: Int64 -> Builder #

ToByteString Integer # 

Methods

builder :: Integer -> Builder #

ToByteString Word # 

Methods

builder :: Word -> Builder #

ToByteString Word8 # 

Methods

builder :: Word8 -> Builder #

ToByteString Word16 # 

Methods

builder :: Word16 -> Builder #

ToByteString Word32 # 

Methods

builder :: Word32 -> Builder #

ToByteString Word64 # 

Methods

builder :: Word64 -> Builder #

ToByteString ByteString # 
ToByteString ByteString # 
ToByteString Text # 

Methods

builder :: Text -> Builder #

ToByteString Text # 

Methods

builder :: Text -> Builder #

ToByteString Builder # 

Methods

builder :: Builder -> Builder #

ToByteString [Char] # 

Methods

builder :: [Char] -> Builder #

ToByteString a => ToByteString (CI a) # 

Methods

builder :: CI a -> Builder #

ToByteString a => ToByteString (List a) # 

Methods

builder :: List a -> Builder #

ToByteString (Hex Int) # 

Methods

builder :: Hex Int -> Builder #

ToByteString (Hex Int8) # 

Methods

builder :: Hex Int8 -> Builder #

ToByteString (Hex Int16) # 

Methods

builder :: Hex Int16 -> Builder #

ToByteString (Hex Int32) # 

Methods

builder :: Hex Int32 -> Builder #

ToByteString (Hex Int64) # 

Methods

builder :: Hex Int64 -> Builder #

ToByteString (Hex Word) # 

Methods

builder :: Hex Word -> Builder #

ToByteString (Hex Word8) # 

Methods

builder :: Hex Word8 -> Builder #

ToByteString (Hex Word16) # 

Methods

builder :: Hex Word16 -> Builder #

ToByteString (Hex Word32) # 

Methods

builder :: Hex Word32 -> Builder #

ToByteString (Hex Word64) # 

Methods

builder :: Hex Word64 -> Builder #

class FromByteString a where #

Parse ByteStrings.

Minimal complete definition

parser

Methods

parser :: Parser a #

Instances

FromByteString Bool # 

Methods

parser :: Parser Bool #

FromByteString Char #

UTF-8 is assumed as encoding format.

Methods

parser :: Parser Char #

FromByteString Double # 

Methods

parser :: Parser Double #

FromByteString Int # 

Methods

parser :: Parser Int #

FromByteString Int8 # 

Methods

parser :: Parser Int8 #

FromByteString Int16 # 

Methods

parser :: Parser Int16 #

FromByteString Int32 # 

Methods

parser :: Parser Int32 #

FromByteString Int64 # 

Methods

parser :: Parser Int64 #

FromByteString Integer # 
FromByteString Word # 

Methods

parser :: Parser Word #

FromByteString Word8 # 

Methods

parser :: Parser Word8 #

FromByteString Word16 # 

Methods

parser :: Parser Word16 #

FromByteString Word32 # 

Methods

parser :: Parser Word32 #

FromByteString Word64 # 

Methods

parser :: Parser Word64 #

FromByteString ByteString # 
FromByteString ByteString # 
FromByteString Text #

UTF-8 is assumed as encoding format.

Methods

parser :: Parser Text #

FromByteString Text #

UTF-8 is assumed as encoding format.

Methods

parser :: Parser Text #

FromByteString [Char] #

UTF-8 is assumed as encoding format.

Methods

parser :: Parser [Char] #

(FoldCase a, FromByteString a) => FromByteString (CI a) # 

Methods

parser :: Parser (CI a) #

FromByteString a => FromByteString (List a) #

A (flat) comma-separated list of values without spaces.

Methods

parser :: Parser (List a) #

(Integral a, Bits a) => FromByteString (Hex a) # 

Methods

parser :: Parser (Hex a) #

newtype Hex a #

Newtype wrapper to parse and produce integral numbers in hexadecimal format

Constructors

Hex 

Fields

Instances

Bounded a => Bounded (Hex a) # 

Methods

minBound :: Hex a #

maxBound :: Hex a #

Enum a => Enum (Hex a) # 

Methods

succ :: Hex a -> Hex a #

pred :: Hex a -> Hex a #

toEnum :: Int -> Hex a #

fromEnum :: Hex a -> Int #

enumFrom :: Hex a -> [Hex a] #

enumFromThen :: Hex a -> Hex a -> [Hex a] #

enumFromTo :: Hex a -> Hex a -> [Hex a] #

enumFromThenTo :: Hex a -> Hex a -> Hex a -> [Hex a] #

Eq a => Eq (Hex a) # 

Methods

(==) :: Hex a -> Hex a -> Bool #

(/=) :: Hex a -> Hex a -> Bool #

Integral a => Integral (Hex a) # 

Methods

quot :: Hex a -> Hex a -> Hex a #

rem :: Hex a -> Hex a -> Hex a #

div :: Hex a -> Hex a -> Hex a #

mod :: Hex a -> Hex a -> Hex a #

quotRem :: Hex a -> Hex a -> (Hex a, Hex a) #

divMod :: Hex a -> Hex a -> (Hex a, Hex a) #

toInteger :: Hex a -> Integer #

Num a => Num (Hex a) # 

Methods

(+) :: Hex a -> Hex a -> Hex a #

(-) :: Hex a -> Hex a -> Hex a #

(*) :: Hex a -> Hex a -> Hex a #

negate :: Hex a -> Hex a #

abs :: Hex a -> Hex a #

signum :: Hex a -> Hex a #

fromInteger :: Integer -> Hex a #

Ord a => Ord (Hex a) # 

Methods

compare :: Hex a -> Hex a -> Ordering #

(<) :: Hex a -> Hex a -> Bool #

(<=) :: Hex a -> Hex a -> Bool #

(>) :: Hex a -> Hex a -> Bool #

(>=) :: Hex a -> Hex a -> Bool #

max :: Hex a -> Hex a -> Hex a #

min :: Hex a -> Hex a -> Hex a #

Read a => Read (Hex a) # 
Real a => Real (Hex a) # 

Methods

toRational :: Hex a -> Rational #

Show a => Show (Hex a) # 

Methods

showsPrec :: Int -> Hex a -> ShowS #

show :: Hex a -> String #

showList :: [Hex a] -> ShowS #

PrintfArg a => PrintfArg (Hex a) # 
Bits a => Bits (Hex a) # 

Methods

(.&.) :: Hex a -> Hex a -> Hex a #

(.|.) :: Hex a -> Hex a -> Hex a #

xor :: Hex a -> Hex a -> Hex a #

complement :: Hex a -> Hex a #

shift :: Hex a -> Int -> Hex a #

rotate :: Hex a -> Int -> Hex a #

zeroBits :: Hex a #

bit :: Int -> Hex a #

setBit :: Hex a -> Int -> Hex a #

clearBit :: Hex a -> Int -> Hex a #

complementBit :: Hex a -> Int -> Hex a #

testBit :: Hex a -> Int -> Bool #

bitSizeMaybe :: Hex a -> Maybe Int #

bitSize :: Hex a -> Int #

isSigned :: Hex a -> Bool #

shiftL :: Hex a -> Int -> Hex a #

unsafeShiftL :: Hex a -> Int -> Hex a #

shiftR :: Hex a -> Int -> Hex a #

unsafeShiftR :: Hex a -> Int -> Hex a #

rotateL :: Hex a -> Int -> Hex a #

rotateR :: Hex a -> Int -> Hex a #

popCount :: Hex a -> Int #

ToByteString (Hex Int) # 

Methods

builder :: Hex Int -> Builder #

ToByteString (Hex Int8) # 

Methods

builder :: Hex Int8 -> Builder #

ToByteString (Hex Int16) # 

Methods

builder :: Hex Int16 -> Builder #

ToByteString (Hex Int32) # 

Methods

builder :: Hex Int32 -> Builder #

ToByteString (Hex Int64) # 

Methods

builder :: Hex Int64 -> Builder #

ToByteString (Hex Word) # 

Methods

builder :: Hex Word -> Builder #

ToByteString (Hex Word8) # 

Methods

builder :: Hex Word8 -> Builder #

ToByteString (Hex Word16) # 

Methods

builder :: Hex Word16 -> Builder #

ToByteString (Hex Word32) # 

Methods

builder :: Hex Word32 -> Builder #

ToByteString (Hex Word64) # 

Methods

builder :: Hex Word64 -> Builder #

(Integral a, Bits a) => FromByteString (Hex a) # 

Methods

parser :: Parser (Hex a) #

newtype List a #

Newtype wrapper to parse and produce a comma separated list of values.

Constructors

List 

Fields

Instances

Monad List # 

Methods

(>>=) :: List a -> (a -> List b) -> List b #

(>>) :: List a -> List b -> List b #

return :: a -> List a #

fail :: String -> List a #

Functor List # 

Methods

fmap :: (a -> b) -> List a -> List b #

(<$) :: a -> List b -> List a #

Applicative List # 

Methods

pure :: a -> List a #

(<*>) :: List (a -> b) -> List a -> List b #

(*>) :: List a -> List b -> List b #

(<*) :: List a -> List b -> List a #

Eq a => Eq (List a) # 

Methods

(==) :: List a -> List a -> Bool #

(/=) :: List a -> List a -> Bool #

Show a => Show (List a) # 

Methods

showsPrec :: Int -> List a -> ShowS #

show :: List a -> String #

showList :: [List a] -> ShowS #

ToByteString a => ToByteString (List a) # 

Methods

builder :: List a -> Builder #

FromByteString a => FromByteString (List a) #

A (flat) comma-separated list of values without spaces.

Methods

parser :: Parser (List a) #

toByteString' :: ToByteString a => a -> ByteString #

Please note that this needs to convert from a lazy ByteString to a strict one which involves copying the whole string.