{-# OPTIONS_HADDOCK not-home #-} -- | -- Module : Data.ByteString.Internal -- Copyright : (c) Don Stewart 2006-2008 -- (c) Duncan Coutts 2006-2012 -- License : BSD-style -- Maintainer : dons00@gmail.com, duncan@community.haskell.org -- Stability : unstable -- Portability : non-portable -- -- A module containing semi-public 'ByteString' internals. This exposes the -- 'ByteString' representation and low level construction functions. As such -- all the functions in this module are unsafe. The API is also not stable. -- -- Where possible application should instead use the functions from the normal -- public interface modules, such as "Data.ByteString.Unsafe". Packages that -- extend the ByteString system at a low level will need to use this module. -- module Data.ByteString.Internal ( -- * The @ByteString@ type and representation ByteString ( BS , PS -- backwards compatibility shim ), StrictByteString, -- * Internal indexing findIndexOrLength, -- * Conversion with lists: packing and unpacking packBytes, packUptoLenBytes, unsafePackLenBytes, packChars, packUptoLenChars, unsafePackLenChars, unpackBytes, unpackAppendBytesLazy, unpackAppendBytesStrict, unpackChars, unpackAppendCharsLazy, unpackAppendCharsStrict, unsafePackAddress, unsafePackLenAddress, unsafePackLiteral, unsafePackLenLiteral, -- * Low level imperative construction empty, create, createUptoN, createUptoN', createAndTrim, createAndTrim', unsafeCreate, unsafeCreateUptoN, unsafeCreateUptoN', mallocByteString, -- * Conversion to and from ForeignPtrs fromForeignPtr, toForeignPtr, fromForeignPtr0, toForeignPtr0, -- * Utilities nullForeignPtr, checkedAdd, -- * Standard C Functions c_strlen, c_free_finalizer, memchr, memcmp, memcpy, memset, -- * cbits functions c_reverse, c_intersperse, c_maximum, c_minimum, c_count, c_sort, -- * Chars w2c, c2w, isSpaceWord8, isSpaceChar8, -- * Deprecated and unmentionable accursedUnutterablePerformIO, -- * Exported compatibility shim plusForeignPtr, unsafeWithForeignPtr ) where import Data.ByteString.Internal.Type