module Data.Vector.Coerce.ByteString where
import Data.ByteString (ByteString)
import qualified Data.ByteString as BS
import qualified Data.ByteString.Internal as BS
import qualified Data.Vector.Storable as V
import qualified Data.Vector.Storable.Internal as V
import Data.Vector.Storable (Vector)
import Data.Word
fromByteString :: ByteString -> Vector Word8
fromByteString (BS.PS fptr off len) = V.unsafeFromForeignPtr fptr off len
toByteString :: Vector Word8 -> ByteString
toByteString v = BS.PS fp s l
where (fp, s, l) = V.unsafeToForeignPtr v