ptr-0.16.8.5: Experimental abstractions for operations on pointers
Safe HaskellNone
LanguageHaskell2010

Ptr.Read

Synopsis

Documentation

data Read a Source #

Deserializer highly optimized for reading from pointers.

Parsing ByteString is just a special case.

Instances

Instances details
Monad Read Source # 
Instance details

Defined in Ptr.Read

Methods

(>>=) :: Read a -> (a -> Read b) -> Read b

(>>) :: Read a -> Read b -> Read b

return :: a -> Read a

Functor Read Source # 
Instance details

Defined in Ptr.Read

Methods

fmap :: (a -> b) -> Read a -> Read b

(<$) :: a -> Read b -> Read a

Applicative Read Source # 
Instance details

Defined in Ptr.Read

Methods

pure :: a -> Read a

(<*>) :: Read (a -> b) -> Read a -> Read b

liftA2 :: (a -> b -> c) -> Read a -> Read b -> Read c

(*>) :: Read a -> Read b -> Read b

(<*) :: Read a -> Read b -> Read a

data Status a Source #

Result of a single iteration.

Errors can be achieved by using Either for output.

Constructors

FinishedStatus !(Ptr Word8) a 
UnfinishedStatus (Read a) 

Instances

Instances details
Functor Status Source # 
Instance details

Defined in Ptr.Read

Methods

fmap :: (a -> b) -> Status a -> Status b

(<$) :: a -> Status b -> Status a

runOnPtr :: Read a -> Ptr Word8 -> Ptr Word8 -> IO (Status a) Source #

runOnByteString :: Read a -> ByteString -> Either (Read a) (a, ByteString) Source #

runOnByteStringFinishing :: Read a -> ByteString -> Maybe a Source #

skip Source #

Arguments

:: Int

Amount of bytes to skip.

Warning: It is your responsibility to ensure that it is not negative.

-> Read () 

skipWhile :: (Word8 -> Bool) -> Read () Source #

byteString Source #

Arguments

:: Int

Size of the bytestring.

Warning: It is your responsibility to ensure that it is not negative.

-> Read ByteString 

byteStringWhile :: (Word8 -> Bool) -> Read ByteString Source #

foldlWhile' :: (Word8 -> Bool) -> (acc -> Word8 -> acc) -> acc -> Read acc Source #

word8 :: Read Word8 Source #

asciiIntegral :: Integral a => Read a Source #

Integral number encoded in ASCII.