-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/

-- | Convert between ByteString and Vector.Storable without copying
--   
--   This library allows conversion between the types from
--   Data.ByteString (package bytestring) and
--   Data.Vector.Storable (package vector) without
--   copying the underlying data. This is useful, for example, when
--   ByteString IO produces or consumes vectors of numbers in
--   native byte order.
--   
--   This trick relies on the fact that ByteString and
--   Vector use their respective ForeignPtrs in
--   compatible ways. It works with bytestring-0.9.1.10 and
--   vector-0.9 on GHC 7.0. It may break with future releases of
--   these packages. Depending on this library should be seen as a way to
--   document and standardize an existing hack, and not as an absolute
--   guarantee of correct behavior.
@package spool
@version 0.1

-- | Convert between ByteString and Vector.Storable
--   without copying.
module Data.Vector.Storable.ByteString

-- | Convert a ByteString to a Vector.
--   
--   This function can produce Vectors which do not obey
--   architectural alignment requirements. On x86 this should not
--   be an issue.
byteStringToVector :: Storable a => ByteString -> Vector a

-- | Convert a Vector to a ByteString.
vectorToByteString :: Storable a => Vector a -> ByteString
