vector-static-0.3.0.1: Statically checked sizes on Data.Vector

Data.Vector.Generic.Mutable.Static

Documentation

newtype MVec n v s a Source

Constructors

MVec 

Fields

unVec :: v s a
 

Instances

Eq (v s a) => Eq (MVec n v s a) 
Show (v s a) => Show (MVec n v s a) 

overlaps :: MVector v a => MVec n v s a -> MVec n v s a -> BoolSource

new :: forall m v a n. (PrimMonad m, MVector v a, Reify n) => m (MVec n v (PrimState m) a)Source

newWith :: forall m v a n. (PrimMonad m, MVector v a, Reify n) => a -> m (MVec n v (PrimState m) a)Source

read :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> Fin n -> m aSource

write :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> Fin n -> a -> m ()Source

swap :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> Fin n -> Fin n -> m ()Source

clear :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> m ()Source

set :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> a -> m ()Source

copy :: (PrimMonad m, MVector v a) => MVec n v (PrimState m) a -> MVec n v (PrimState m) a -> m ()Source

grow :: forall m v a n k. (PrimMonad m, MVector v a, Reify k) => MVec n v (PrimState m) a -> m (MVec (n :+: k) v (PrimState m) a)Source

slice :: forall n k v s a. (MVector v a, Reify k) => Fin n -> MVec (n :+: k) v s a -> MVec k v s aSource

take :: forall n k v s a. (MVector v a, Reify k) => MVec (n :+: k) v s a -> MVec k v s aSource

drop :: forall n k v s a. (MVector v a, Reify n) => MVec (n :+: k) v s a -> MVec n v s aSource

init :: MVector v a => MVec (S n) v s a -> MVec n v s aSource

tail :: MVector v a => MVec (S n) v s a -> MVec n v s aSource