lens-5.0.1: Lenses, Folds and Traversals
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-Inferred
Language Haskell2010

Data.ByteString.Lens

Description

Synopsis

Documentation

class IsByteString t where Source #

Traversals for ByteStrings.

Minimal complete definition

packedBytes , packedChars

Methods

packedBytes :: Iso' [ Word8 ] t Source #

pack (or unpack ) a list of bytes into a strict or lazy ByteString .

pack x ≡ x ^. packedBytes
unpack x ≡ x ^. from packedBytes
packedBytesfrom unpackedBytes

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' .

pack x ≡ x ^. packedChars
unpack x ≡ x ^. from packedChars
packedCharsfrom unpackedChars

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:

bytesunpackedBytes . traversed
anyOf bytes (== 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:

charsunpackedChars . traversed
anyOf chars (== 'c') :: ByteString -> Bool

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' .

unpackedCharsfrom packedChars
unpack x ≡ x ^. unpackedChars
pack x ≡ x ^. from unpackedChars
unpackedChars :: Iso' ByteString String
unpackedChars :: Iso' ByteString String