|GZIp and MMap IO for ByteStrings, and miscellaneous functions for Data.ByteString
|Do something with the internals of a PackedString. Beware of
altering the contents!
|Like readFilePS, this reads an entire file directly into a
ByteString, but it is even more efficient. It involves directly
mapping the file to memory. This has the advantage that the contents of
the file never need to be copied. Also, under memory pressure the page
may simply be discarded, wile in the case of readFilePS it would need to
be written to swap. If you read many small files, mmapFilePS will be
less memory-efficient than readFilePS, since each mmapFilePS takes up a
separate page of memory. Also, you can run into bus errors if the file
is modified. NOTE: as with readFilePS, the string representation in
the file is assumed to be ISO-8859-1.
dropSpace efficiently returns the ByteString argument with
white space Chars removed from the front. It is more efficient than
calling dropWhile for removing whitespace. I.e.
dropWhile isSpace == dropSpace
breakSpace returns the pair of ByteStrings when the argument is
broken at the first whitespace byte. I.e.
break isSpace == breakSpace
This function acts exactly like the Prelude unlines function, or like
Data.ByteString.Char8 unlines, but with one important difference: it will
produce a string which may not end with a newline! That is:
unlinesPS ["foo", "bar"]
evaluates to "foo\nbar", not "foo\nbar\n"! This point should hold true for
linesPS as well.
TODO: rename this function.
|readIntPS skips any whitespace at the beginning of its argument, and
reads an Int from the beginning of the PackedString. If there is no
integer at the beginning of the string, it returns Nothing, otherwise it
just returns the int read, along with a B.ByteString containing the
remainder of its input.
|betweenLinesPS returns the B.ByteString between the two lines given,
or Nothing if they do not appear.
|Produced by Haddock version 2.4.2|