| Portability | non-portable |
|---|---|
| Stability | experimental |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Safe Haskell | Safe-Inferred |
Data.ByteString.Lens
Description
- class IsByteString t where
- packedBytes :: Iso' [Word8] t
- packedChars :: Iso' String t
- bytes :: IndexedTraversal' Int t Word8
- chars :: IndexedTraversal' Int t Char
- unpackedBytes :: IsByteString t => Iso' t [Word8]
- unpackedChars :: IsByteString t => Iso' t String
Documentation
class IsByteString t whereSource
Traversals for ByteStrings.
Methods
packedBytes :: Iso' [Word8] tSource
pack (or unpack) a list of bytes into a strict or lazy ByteString.
packx ≡ x^.packedBytesunpackx ≡ x^.frompackedBytespackedBytes≡fromunpackedBytes
packedChars :: Iso' String tSource
pack (or unpack) a list of characters into a strict or lazy ByteString.
When writing back to the ByteString it is assumed that every Char
lies between '\x00' and '\xff'.
packx ≡ x^.packedCharsunpackx ≡ x^.frompackedCharspackedChars≡fromunpackedChars
bytes :: IndexedTraversal' Int t Word8Source
Traverse each Word8 in a strict or lazy ByteString
This Traversal walks each strict ByteString chunk in a tree-like fashion
enable zippers to seek to locations more quickly and accelerate
many monoidal queries, but up to associativity (and constant factors) it is
equivalent to the much slower:
bytes≡unpackedBytes.traversed
anyOfbytes(==0x80) ::ByteString->Bool
chars :: IndexedTraversal' Int t CharSource
Traverse the individual bytes in a strict or lazy ByteString as characters.
When writing back to the ByteString it is assumed that every Char
lies between '\x00' and '\xff'.
This Traversal walks each strict ByteString chunk in a tree-like fashion
enable zippers to seek to locations more quickly and accelerate
many monoidal queries, but up to associativity (and constant factors) it is
equivalent to the much slower:
chars≡unpackedChars.traversed
anyOfchars(=='c') ::ByteString->Bool
Instances
unpackedBytes :: IsByteString t => Iso' t [Word8]Source
unpack (or pack) a ByteString into a list of bytes
unpackedBytes≡frompackedBytesunpackx ≡ x^.unpackedBytespackx ≡ x^.fromunpackedBytes
unpackedBytes::Iso'ByteString[Word8]unpackedBytes::Iso'ByteString[Word8]
unpackedChars :: IsByteString t => Iso' t StringSource
unpack (or pack) a list of characters into a strict (or lazy) ByteString
When writing back to the ByteString it is assumed that every Char
lies between '\x00' and '\xff'.
unpackedChars≡frompackedCharsunpackx ≡ x^.unpackedCharspackx ≡ x^.fromunpackedChars
unpackedChars::Iso'ByteStringStringunpackedChars::Iso'ByteStringString