# OPTIONS_HADDOCK not - home #

-- |
-- Module      : Data.ByteString.Internal
  Copyright    : ( c )   2006 - 2008
                ( c )   2006 - 2012
-- License     : BSD-style
-- Maintainer  : , 
-- 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,
        SizeOverflowException,
        overflowError,
        checkedAdd,
        checkedMultiply,

        -- * 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

 |
 Module      : Data.ByteString.Internal
 License     : BSD-style
 Maintainer  : , 
 Stability   : unstable
 Portability : non-portable

 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

 * The @ByteString@ type and representation
 backwards compatibility shim
 * Internal indexing
 * Conversion with lists: packing and unpacking
 * Low level imperative construction
 * Utilities
 * Standard C Functions
 * cbits functions
 * Chars
 * Deprecated and unmentionable
 * Exported compatibility shim
# OPTIONS_HADDOCK not - home #

  Copyright    : ( c )   2006 - 2008
                ( c )   2006 - 2012
  A module containing semi - public ' ByteString ' internals . This exposes the
  ' ByteString ' representation and low level construction functions . As such
  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 (

        ByteString
        ( BS
        ),

        StrictByteString,

        findIndexOrLength,

        packBytes, packUptoLenBytes, unsafePackLenBytes,
        packChars, packUptoLenChars, unsafePackLenChars,
        unpackBytes, unpackAppendBytesLazy, unpackAppendBytesStrict,
        unpackChars, unpackAppendCharsLazy, unpackAppendCharsStrict,
        unsafePackAddress, unsafePackLenAddress,
        unsafePackLiteral, unsafePackLenLiteral,

        empty,
        create,
        createUptoN,
        createUptoN',
        createAndTrim,
        createAndTrim',
        unsafeCreate,
        unsafeCreateUptoN,
        unsafeCreateUptoN',
        mallocByteString,

  * Conversion to and from ForeignPtrs
        fromForeignPtr,
        toForeignPtr,
        fromForeignPtr0,
        toForeignPtr0,

        nullForeignPtr,
        SizeOverflowException,
        overflowError,
        checkedAdd,
        checkedMultiply,

        c_strlen,
        c_free_finalizer,

        memchr,
        memcmp,
        memcpy,
        memset,

        c_reverse,
        c_intersperse,
        c_maximum,
        c_minimum,
        c_count,
        c_sort,

        w2c, c2w, isSpaceWord8, isSpaceChar8,

        accursedUnutterablePerformIO,

        plusForeignPtr,
        unsafeWithForeignPtr
  ) where

import Data.ByteString.Internal.Type
