W3cubDocs

/Haskell 8

Data.ByteString.Lazy.Internal

Copyright (c) Don Stewart 2006-2008
(c) Duncan Coutts 2006-2011
License BSD-style
Maintainer [email protected], [email protected]
Stability unstable
Portability non-portable
Safe Haskell Unsafe
Language Haskell98

Description

A module containing semi-public ByteString internals. This exposes the ByteString representation and low level construction functions. Modules which extend the ByteString system will need to use this module while ideally most users will be able to make do with the public interface modules.

The lazy ByteString type and representation

data ByteString Source

A space-efficient representation of a Word8 vector, supporting many efficient operations.

A lazy ByteString contains 8-bit bytes, or by using the operations from Data.ByteString.Lazy.Char8 it can be interpreted as containing 8-bit characters.

Instances
Instances details
Eq ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Data ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ByteString -> c ByteString Source

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ByteString Source

toConstr :: ByteString -> Constr Source

dataTypeOf :: ByteString -> DataType Source

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ByteString) Source

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ByteString) Source

gmapT :: (forall b. Data b => b -> b) -> ByteString -> ByteString Source

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r Source

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ByteString -> r Source

gmapQ :: (forall d. Data d => d -> u) -> ByteString -> [u] Source

gmapQi :: Int -> (forall d. Data d => d -> u) -> ByteString -> u Source

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString Source

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString Source

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ByteString -> m ByteString Source

Ord ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Read ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Show ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

IsString ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Semigroup ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Monoid ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

NFData ByteString
Instance details

Defined in Data.ByteString.Lazy.Internal

Methods

rnf :: ByteString -> () Source

chunk :: ByteString -> ByteString -> ByteString Source

Smart constructor for Chunk. Guarantees the data type invariant.

foldrChunks :: (ByteString -> a -> a) -> a -> ByteString -> a Source

Consume the chunks of a lazy ByteString with a natural right fold.

foldlChunks :: (a -> ByteString -> a) -> a -> ByteString -> a Source

Consume the chunks of a lazy ByteString with a strict, tail-recursive, accumulating left fold.

Data type invariant and abstraction function

invariant :: ByteString -> Bool Source

The data type invariant: Every ByteString is either Empty or consists of non-null ByteStrings. All functions must preserve this, and the QC properties must check this.

checkInvariant :: ByteString -> ByteString Source

In a form that checks the invariant lazily.

Chunk allocation sizes

defaultChunkSize :: Int Source

The chunk size used for I/O. Currently set to 32k, less the memory management overhead

smallChunkSize :: Int Source

The recommended chunk size. Currently set to 4k, less the memory management overhead

chunkOverhead :: Int Source

The memory management overhead. Currently this is tuned for GHC only.

Conversion with lists: packing and unpacking

packBytes :: [Word8] -> ByteString Source

packChars :: [Char] -> ByteString Source

unpackBytes :: ByteString -> [Word8] Source

unpackChars :: ByteString -> [Char] Source

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.8.3/docs/html/libraries/bytestring-0.10.10.0/Data-ByteString-Lazy-Internal.html