Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > c95396d39d65e8386d499c597a7865c8 > files > 119

ghc-vector-devel-0.9.1-8.fc18.i686.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Data.Vector.Generic.Mutable.Safe</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[
window.onload = function () {pageLoad();setSynopsis("mini_Data-Vector-Generic-Mutable-Safe.html");};
//]]>
</script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Data-Vector-Generic-Mutable-Safe.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">vector-0.9.1: Efficient Arrays</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>non-portable</td></tr><tr><th>Stability</th><td>experimental</td></tr><tr><th>Maintainer</th><td>Roman Leshchinskiy &lt;rl@cse.unsw.edu.au&gt;</td></tr><tr><th>Safe Haskell</th><td>Trustworthy</td></tr></table><p class="caption">Data.Vector.Generic.Mutable.Safe</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#g:1">Class of mutable vector types
</a></li><li><a href="#g:2">Accessors
</a><ul><li><a href="#g:3">Length information
</a></li><li><a href="#g:4">Extracting subvectors
</a></li><li><a href="#g:5">Overlapping
</a></li></ul></li><li><a href="#g:6">Construction
</a><ul><li><a href="#g:7">Initialisation
</a></li><li><a href="#g:8">Growing
</a></li><li><a href="#g:9">Restricting memory usage
</a></li></ul></li><li><a href="#g:10">Accessing individual elements
</a></li><li><a href="#g:11">Modifying vectors
</a><ul><li><a href="#g:12">Filling and copying
</a></li></ul></li><li><a href="#g:13">Internal operations
</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Safe interface to <a href="Data-Vector-Generic-Mutable.html">Data.Vector.Generic.Mutable</a>
</p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span>  <a href="#t:MVector">MVector</a> v a </li><li class="src short"><a href="#v:length">length</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:null">null</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:slice">slice</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a</li><li class="src short"><a href="#v:init">init</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a</li><li class="src short"><a href="#v:tail">tail</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a</li><li class="src short"><a href="#v:take">take</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a</li><li class="src short"><a href="#v:drop">drop</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a</li><li class="src short"><a href="#v:splitAt">splitAt</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; (v s a, v s a)</li><li class="src short"><a href="#v:overlaps">overlaps</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></li><li class="src short"><a href="#v:new">new</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:replicate">replicate</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:replicateM">replicateM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:clone">clone</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:grow">grow</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:clear">clear</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:read">read</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a</li><li class="src short"><a href="#v:write">write</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:swap">swap</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:set">set</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:copy">copy</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:move">move</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:unstream">unstream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:unstreamR">unstreamR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:munstream">munstream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:munstreamR">munstreamR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:transform">transform</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (<a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:transformR">transformR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (<a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:fill">fill</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:fillR">fillR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:accum">accum</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; b -&gt; a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, b) -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:update">update</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, a) -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:reverse">reverse</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a></li><li class="src short"><a href="#v:unstablePartition">unstablePartition</a> :: <span class="keyword">forall</span> m v a. (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></li><li class="src short"><a href="#v:unstablePartitionStream">unstablePartitionStream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a, v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li><li class="src short"><a href="#v:partitionStream">partitionStream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a, v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)</li></ul></div><div id="interface"><h1 id="g:1">Class of mutable vector types
</h1><div class="top"><p class="src"><span class="keyword">class</span>  <a name="t:MVector" class="def">MVector</a> v a <a href="src/Data-Vector-Generic-Mutable.html#MVector" class="link">Source</a></p><div class="doc"><p>Class of mutable vectors parametrised with a primitive state token.
</p></div><div class="subs instances"><p id="control.i:MVector" class="caption collapser" onclick="toggleSection('i:MVector')">Instances</p><div id="section.i:MVector" class="show"><table><tr><td class="src"><a href="Data-Vector-Primitive-Mutable.html#t:Prim">Prim</a> a =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Primitive-Mutable.html#t:MVector">MVector</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Storable-Mutable.html#t:Storable">Storable</a> a =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Storable-Mutable.html#t:MVector">MVector</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Char.html#t:Char">Char</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Double">Double</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:Float">Float</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int8">Int8</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int16">Int16</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int32">Int32</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int64">Int64</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Word.html#t:Word">Word</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Word.html#t:Word8">Word8</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Word.html#t:Word16">Word16</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Word.html#t:Word32">Word32</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Word.html#t:Word64">Word64</a></td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> ()</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Mutable.html#t:MVector">MVector</a> a</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Prelude.html#t:RealFloat">RealFloat</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Complex.html#t:Complex">Complex</a> a)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> b) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (a, b)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> c) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (a, b, c)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> d) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (a, b, c, d)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> d, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> e) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (a, b, c, d, e)</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src">(<a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> a, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> b, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> c, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> d, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> e, <a href="Data-Vector-Unboxed.html#t:Unbox">Unbox</a> f) =&gt; <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> <a href="Data-Vector-Unboxed.html#t:MVector">MVector</a> (a, b, c, d, e, f)</td><td class="doc empty">&nbsp;</td></tr></table></div></div></div><h1 id="g:2">Accessors
</h1><h2 id="g:3">Length information
</h2><div class="top"><p class="src"><a name="v:length" class="def">length</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a><a href="src/Data-Vector-Generic-Mutable.html#length" class="link">Source</a></p><div class="doc"><p>Length of the mutable vector.
</p></div></div><div class="top"><p class="src"><a name="v:null" class="def">null</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Data-Vector-Generic-Mutable.html#null" class="link">Source</a></p><div class="doc"><p>Check whether the vector is empty
</p></div></div><h2 id="g:4">Extracting subvectors
</h2><div class="top"><p class="src"><a name="v:slice" class="def">slice</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a<a href="src/Data-Vector-Generic-Mutable.html#slice" class="link">Source</a></p><div class="doc"><p>Yield a part of the mutable vector without copying it.
</p></div></div><div class="top"><p class="src"><a name="v:init" class="def">init</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a<a href="src/Data-Vector-Generic-Mutable.html#init" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:tail" class="def">tail</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a<a href="src/Data-Vector-Generic-Mutable.html#tail" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:take" class="def">take</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a<a href="src/Data-Vector-Generic-Mutable.html#take" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:drop" class="def">drop</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; v s a<a href="src/Data-Vector-Generic-Mutable.html#drop" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:splitAt" class="def">splitAt</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; v s a -&gt; (v s a, v s a)<a href="src/Data-Vector-Generic-Mutable.html#splitAt" class="link">Source</a></p></div><h2 id="g:5">Overlapping
</h2><div class="top"><p class="src"><a name="v:overlaps" class="def">overlaps</a> :: <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a =&gt; v s a -&gt; v s a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a><a href="src/Data-Vector-Generic-Mutable.html#overlaps" class="link">Source</a></p></div><h1 id="g:6">Construction
</h1><h2 id="g:7">Initialisation
</h2><div class="top"><p class="src"><a name="v:new" class="def">new</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#new" class="link">Source</a></p><div class="doc"><p>Create a mutable vector of the given length.
</p></div></div><div class="top"><p class="src"><a name="v:replicate" class="def">replicate</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#replicate" class="link">Source</a></p><div class="doc"><p>Create a mutable vector of the given length (0 if the length is negative)
 and fill it with an initial value.
</p></div></div><div class="top"><p class="src"><a name="v:replicateM" class="def">replicateM</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#replicateM" class="link">Source</a></p><div class="doc"><p>Create a mutable vector of the given length (0 if the length is negative)
 and fill it with values produced by repeatedly executing the monadic action.
</p></div></div><div class="top"><p class="src"><a name="v:clone" class="def">clone</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#clone" class="link">Source</a></p><div class="doc"><p>Create a copy of a mutable vector.
</p></div></div><h2 id="g:8">Growing
</h2><div class="top"><p class="src"><a name="v:grow" class="def">grow</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#grow" class="link">Source</a></p><div class="doc"><p>Grow a vector by the given number of elements. The number must be
 positive.
</p></div></div><h2 id="g:9">Restricting memory usage
</h2><div class="top"><p class="src"><a name="v:clear" class="def">clear</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#clear" class="link">Source</a></p><div class="doc"><p>Reset all elements of the vector to some undefined value, clearing all
 references to external objects. This is usually a noop for unboxed vectors. 
</p></div></div><h1 id="g:10">Accessing individual elements
</h1><div class="top"><p class="src"><a name="v:read" class="def">read</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m a<a href="src/Data-Vector-Generic-Mutable.html#read" class="link">Source</a></p><div class="doc"><p>Yield the element at the given position.
</p></div></div><div class="top"><p class="src"><a name="v:write" class="def">write</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#write" class="link">Source</a></p><div class="doc"><p>Replace the element at the given position.
</p></div></div><div class="top"><p class="src"><a name="v:swap" class="def">swap</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a> -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#swap" class="link">Source</a></p><div class="doc"><p>Swap the elements at the given positions.
</p></div></div><h1 id="g:11">Modifying vectors
</h1><h2 id="g:12">Filling and copying
</h2><div class="top"><p class="src"><a name="v:set" class="def">set</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#set" class="link">Source</a></p><div class="doc"><p>Set all elements of the vector to the given value.
</p></div></div><div class="top"><p class="src"><a name="v:copy" class="def">copy</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#copy" class="link">Source</a></p><div class="doc"><p>Copy a vector. The two vectors must have the same length and may not
 overlap.
</p></div></div><div class="top"><p class="src"><a name="v:move" class="def">move</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#move" class="link">Source</a></p><div class="doc"><p>Move the contents of a vector. The two vectors must have the same
 length.
</p><p>If the vectors do not overlap, then this is equivalent to <code><a href="Data-Vector-Generic-Mutable-Safe.html#v:copy">copy</a></code>.
 Otherwise, the copying is performed as if the source vector were
 copied to a temporary vector and then the temporary vector was copied
 to the target vector.
</p></div></div><h1 id="g:13">Internal operations
</h1><div class="top"><p class="src"><a name="v:unstream" class="def">unstream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#unstream" class="link">Source</a></p><div class="doc"><p>Create a new mutable vector and fill it with elements from the <code><a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a></code>.
 The vector will grow exponentially if the maximum size of the <code><a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a></code> is
 unknown.
</p></div></div><div class="top"><p class="src"><a name="v:unstreamR" class="def">unstreamR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#unstreamR" class="link">Source</a></p><div class="doc"><p>Create a new mutable vector and fill it with elements from the <code><a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a></code>
 from right to left. The vector will grow exponentially if the maximum size
 of the <code><a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a></code> is unknown.
</p></div></div><div class="top"><p class="src"><a name="v:munstream" class="def">munstream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#munstream" class="link">Source</a></p><div class="doc"><p>Create a new mutable vector and fill it with elements from the monadic
 stream. The vector will grow exponentially if the maximum size of the stream
 is unknown.
</p></div></div><div class="top"><p class="src"><a name="v:munstreamR" class="def">munstreamR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#munstreamR" class="link">Source</a></p><div class="doc"><p>Create a new mutable vector and fill it with elements from the monadic
 stream from right to left. The vector will grow exponentially if the maximum
 size of the stream is unknown.
</p></div></div><div class="top"><p class="src"><a name="v:transform" class="def">transform</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (<a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#transform" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:transformR" class="def">transformR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (<a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#transformR" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fill" class="def">fill</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#fill" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:fillR" class="def">fillR</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:MStream">MStream</a> m a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#fillR" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:accum" class="def">accum</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; b -&gt; a) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, b) -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#accum" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:update" class="def">update</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> (<a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a>, a) -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#update" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:reverse" class="def">reverse</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple.html#t:-40--41-">()</a><a href="src/Data-Vector-Generic-Mutable.html#reverse" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:unstablePartition" class="def">unstablePartition</a> :: <span class="keyword">forall</span> m v a. (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a -&gt; m <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Int.html#t:Int">Int</a><a href="src/Data-Vector-Generic-Mutable.html#unstablePartition" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:unstablePartitionStream" class="def">unstablePartitionStream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a, v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#unstablePartitionStream" class="link">Source</a></p></div><div class="top"><p class="src"><a name="v:partitionStream" class="def">partitionStream</a> :: (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimMonad">PrimMonad</a> m, <a href="Data-Vector-Generic-Mutable-Safe.html#t:MVector">MVector</a> v a) =&gt; (a -&gt; <a href="/usr/share/doc/ghc/html/libraries/base-4.5.0.0/Data-Bool.html#t:Bool">Bool</a>) -&gt; <a href="Data-Vector-Fusion-Stream.html#t:Stream">Stream</a> a -&gt; m (v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a, v (<a href="/usr/share/doc/ghc/html/libraries/primitive-0.4.1/Control-Monad-Primitive.html#t:PrimState">PrimState</a> m) a)<a href="src/Data-Vector-Generic-Mutable.html#partitionStream" class="link">Source</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.10.0</p></div></body></html>