pvector-0.1.0.1: Fast persistent vectors
Safe HaskellNone
LanguageHaskell2010

Data.Vector.Persistent.Internal.Buffer

Documentation

data Buffer s a Source #

Constructors

Buffer 

Fields

new :: (PrimMonad m, s ~ PrimState m) => m (Buffer s a) Source #

newWithCapacity :: (PrimMonad m, s ~ PrimState m) => Int -> m (Buffer s a) Source #

push :: (PrimMonad m, s ~ PrimState m) => a -> Buffer s a -> m (Buffer s a) Source #

read :: (PrimMonad m, s ~ PrimState m) => Int -> Buffer s a -> m a Source #

write :: (PrimMonad m, s ~ PrimState m) => Int -> a -> Buffer s a -> m () Source #

clear :: Buffer s a -> Buffer s a Source #

shrink :: Int -> Buffer s a -> Buffer s a Source #

unsafeShrink :: (PrimMonad m, s ~ PrimState m) => Int -> Buffer s a -> m (Buffer s a) Source #

null :: Buffer s a -> Bool Source #

undefinedElem :: forall a. a Source #

resize :: (PrimMonad m, s ~ PrimState m) => Buffer s a -> m (Buffer s a) Source #

grow :: (PrimMonad m, s ~ PrimState m) => Int -> Buffer s a -> m (Buffer s a) Source #

freeze :: (PrimMonad m, s ~ PrimState m) => Buffer s a -> m (SmallArray a) Source #

unsafeFreeze :: (PrimMonad m, s ~ PrimState m) => Buffer s a -> m (SmallArray a) Source #