| Copyright | (C) 2012-16 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
- unpackedBytes :: IsByteString t => Iso' t [Word8]
- unpackedChars :: IsByteString t => Iso' t String
- pattern Bytes :: forall s. IsByteString s => [Word8] -> s
- pattern Chars :: forall s. IsByteString s => String -> s
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
pattern Bytes :: forall s. IsByteString s => [Word8] -> s Source #
pattern Chars :: forall s. IsByteString s => String -> s Source #