lens-4.15.3: Lenses, Folds and Traversals

Copyright | (C) 2012-2016 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | experimental
Portability | non-portable
Safe Haskell | Trustworthy
Language | Haskell98

Control.Lens.Internal.ByteString

Description

This module spends a lot of time fiddling around with `ByteString` internals to work around http://hackage.haskell.org/trac/ghc/ticket/7556 on older Haskell Platforms and to improve constant and asymptotic factors in our performance.

Synopsis

- unpackStrict :: ByteString -> [Word8]
- traversedStrictTree :: IndexedTraversal' Int ByteString Word8
- unpackStrict8 :: ByteString -> String
- traversedStrictTree8 :: IndexedTraversal' Int ByteString Char
- unpackLazy :: ByteString -> [Word8]
- traversedLazy :: IndexedTraversal' Int64 ByteString Word8
- unpackLazy8 :: ByteString -> String
- traversedLazy8 :: IndexedTraversal' Int64 ByteString Char

# Documentation

unpackStrict :: ByteString -> [Word8] #

Unpack a strict `Bytestring`

traversedStrictTree :: IndexedTraversal' Int ByteString Word8 #

Traverse a strict `ByteString` in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves.

unpackStrict8 :: ByteString -> String #

Unpack a strict `Bytestring`, pretending the bytes are chars.

traversedStrictTree8 :: IndexedTraversal' Int ByteString Char #

Traverse a strict `ByteString` in a relatively balanced fashion, as a balanced tree with biased runs of elements at the leaves, pretending the bytes are chars.

unpackLazy :: ByteString -> [Word8] #

Unpack a lazy `Bytestring`

traversedLazy :: IndexedTraversal' Int64 ByteString Word8 #

An `IndexedTraversal` of the individual bytes in a lazy `ByteString`

unpackLazy8 :: ByteString -> String #

Unpack a lazy `ByteString` pretending the bytes are chars.

traversedLazy8 :: IndexedTraversal' Int64 ByteString Char #

An `IndexedTraversal` of the individual bytes in a lazy `ByteString` pretending the bytes are chars.