lens-4.3.1: Lenses, Folds and Traversals

Portabilitynon-portable
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellSafe-Inferred

Data.ByteString.Lens

Description

 

Synopsis

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.

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

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

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

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:

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

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

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

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