| Copyright | (C) 2012-15 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | Safe |
| Language | Haskell98 |
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 where Source
Traversals for ByteStrings.
Minimal complete definition
Methods
packedBytes :: Iso' [Word8] t Source
pack (or unpack) a list of bytes into a strict or lazy ByteString.
packx ≡ x^.packedBytesunpackx ≡ x^.frompackedBytespackedBytes≡fromunpackedBytes
packedChars :: Iso' String t Source
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 Word8 Source
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 Char Source
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 String Source
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