vector-builder 0.2 → 0.3
raw patch · 5 files changed
+13/−8 lines, 5 files
Files
- library/VectorBuilder/MVector.hs +2/−0
- library/VectorBuilder/Private/Builder.hs +5/−3
- library/VectorBuilder/Private/SizeTrackingAction.hs +2/−3
- library/VectorBuilder/Vector.hs +3/−1
- vector-builder.cabal +1/−1
library/VectorBuilder/MVector.hs view
@@ -12,6 +12,8 @@ -- | -- Construct a mutable vector from a builder.+-- +-- Supports all kinds of vectors: boxed, unboxed, primitive, storable. {-# INLINABLE build #-} build :: MVector vector element => A.Builder element -> ST s (vector s element) build (A.Builder (B.SizeTrackingAction sizeTrackingActionFn)) =
library/VectorBuilder/Private/Builder.hs view
@@ -3,7 +3,7 @@ import VectorBuilder.Private.Prelude import qualified VectorBuilder.Private.SizeTrackingAction as A-import qualified Data.Vector as B+import qualified Data.Vector.Generic as B -- |@@ -43,8 +43,10 @@ Builder (A.snoc element) -- |--- Builder from a vector of elements.-vector :: B.Vector element -> Builder element+-- Builder from an immutable vector of elements.+-- +-- Supports all kinds of vectors: boxed, unboxed, primitive, storable.+vector :: B.Vector vector element => vector element -> Builder element vector vector = Builder (A.append vector)
library/VectorBuilder/Private/SizeTrackingAction.hs view
@@ -2,8 +2,7 @@ where import VectorBuilder.Private.Prelude-import qualified Data.Vector.Mutable as A-import qualified Data.Vector as B+import qualified Data.Vector.Generic as B import qualified VectorBuilder.Private.Action as C @@ -28,7 +27,7 @@ snoc element = SizeTrackingAction (\size -> (C.unsafeWrite size element, succ size)) -append :: B.Vector element -> SizeTrackingAction element ()+append :: B.Vector vector element => vector element -> SizeTrackingAction element () append appendedVector = SizeTrackingAction ((,) <$> action <*> size) where
library/VectorBuilder/Vector.hs view
@@ -10,7 +10,9 @@ -- |--- Construct a vector from a builder.+-- Construct an immutable vector from a builder.+-- +-- Supports all kinds of vectors: boxed, unboxed, primitive, storable. {-# INLINE build #-} build :: Vector vector element => A.Builder element -> vector element build builder =
vector-builder.cabal view
@@ -1,7 +1,7 @@ name: vector-builder version:- 0.2+ 0.3 synopsis: Vector builder description: