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


-- | Instances of Data.Binary for vector
--   
--   Instances for Binary for the types defined in the vector package,
--   making it easy to serialize vectors to and from disk. We use the
--   generic interface to vectors, so all vector types are supported.
--   Specific instances are provided for unboxed, boxed and storable
--   vectors. . To serialize a vector: . &gt; *Data.Vector.Binary&gt; let v
--   = Data.Vector.fromList [1..10] &gt; *Data.Vector.Binary&gt; v &gt;
--   fromList [1,2,3,4,5,6,7,8,9,10] :: Data.Vector.Vector &gt;
--   *Data.Vector.Binary&gt; encode v &gt; Chunk
--   "NULNULNULNULNUL...NULNULNULtNULNULNULNULn" Empty . Which you can in
--   turn compress before writing to disk: . &gt; compress . encode $ v
--   &gt; Chunk "US139bNULNULN...229240,254:NULNULNUL" Empty . Try the
--   cereal-vector package if you are looking for Data.Serialize instances.
@package vector-binary-instances
@version 0.2.5.2


module Data.Vector.Binary

-- | Generic function for vector deserialization.
genericGetVector :: (Vector v a, Binary a) => Get (v a)

-- | Deserialize vector using custom parsers.
genericGetVectorWith :: Vector v a => Get Int -> Get a -> Get (v a)

-- | Generic put for anything in the G.Vector class.
genericPutVector :: (Vector v a, Binary a) => v a -> Put

-- | Generic put for anything in the G.Vector class which uses custom
--   encoders.
genericPutVectorWith :: Vector v a => (Int -> Put) -> (a -> Put) -> v a -> Put
instance (GHC.Internal.Foreign.Storable.Storable a, Data.Binary.Class.Binary a) => Data.Binary.Class.Binary (Data.Vector.Storable.Vector a)
instance (Data.Primitive.Types.Prim a, Data.Binary.Class.Binary a) => Data.Binary.Class.Binary (Data.Vector.Primitive.Vector a)
instance (Data.Vector.Unboxed.Base.Unbox a, Data.Binary.Class.Binary a) => Data.Binary.Class.Binary (Data.Vector.Unboxed.Base.Vector a)
instance Data.Binary.Class.Binary a => Data.Binary.Class.Binary (Data.Vector.Vector a)
