storablevector-0.2.4: Data/StorableVector/Lazy/Pointer.hs
{- |
In principle you can traverse through a lazy storable vector
using repeated calls to @viewL@.
However this needs a bit of pointer arrangement and allocation.
This data structure makes the inner loop faster,
that consists of traversing through a chunk.
-}
module Data.StorableVector.Lazy.Pointer (
Pointer, cons, viewL, switchL,
) where
import Data.StorableVector.Lazy.PointerPrivate (Pointer(..), viewL, switchL, )
import qualified Data.StorableVector.Lazy as VL
import Foreign.Storable (Storable)
{-# INLINE cons #-}
cons :: Storable a => VL.Vector a -> Pointer a
cons = VL.pointer