hw-prim 0.0.3.2 → 0.0.3.3
raw patch · 2 files changed
+25/−2 lines, 2 filesPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
API changes (from Hackage documentation)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word16)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word32)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word64)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion (Data.Vector.Storable.Vector GHC.Word.Word8)
+ HaskellWorks.Data.FromForeignRegion: instance HaskellWorks.Data.FromForeignRegion.FromForeignRegion Data.ByteString.Internal.ByteString
+ HaskellWorks.Data.FromForeignRegion: type ForeignRegion = (ForeignPtr Word8, Int, Int)
- HaskellWorks.Data.FromForeignRegion: fromForeignRegion :: FromForeignRegion a => (ForeignPtr Word8, Int, Int) -> a
+ HaskellWorks.Data.FromForeignRegion: fromForeignRegion :: FromForeignRegion a => ForeignRegion -> a
Files
hw-prim.cabal view
@@ -1,5 +1,5 @@ name: hw-prim-version: 0.0.3.2+version: 0.0.3.3 synopsis: Primitive functions and data types description: Please see README.md homepage: http://github.com/haskell-works/hw-prim#readme
src/HaskellWorks/Data/FromForeignRegion.hs view
@@ -1,9 +1,32 @@+{-# LANGUAGE FlexibleInstances #-}+ module HaskellWorks.Data.FromForeignRegion where +import qualified Data.ByteString as BS+import qualified Data.ByteString.Internal as BSI+import qualified Data.Vector.Storable as DVS import Data.Word import Foreign.ForeignPtr+import HaskellWorks.Data.FromByteString +type ForeignRegion = (ForeignPtr Word8, Int, Int)+ -- | Class for datastructures that can be created from a foreign region class FromForeignRegion a where -- | Create a value of type @a from a foreign region.- fromForeignRegion :: (ForeignPtr Word8, Int, Int) -> a+ fromForeignRegion :: ForeignRegion -> a++instance FromForeignRegion BS.ByteString where+ fromForeignRegion (fptr, offset, size) = BSI.fromForeignPtr (castForeignPtr fptr) offset size++instance FromForeignRegion (DVS.Vector Word8) where+ fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word16) where+ fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word32) where+ fromForeignRegion = fromByteString . fromForeignRegion++instance FromForeignRegion (DVS.Vector Word64) where+ fromForeignRegion = fromByteString . fromForeignRegion