3c629aadf39eda661f06c7d3c3bb5769c54e9e33
[darcs-mirrors/vector.git] / Data / Vector / Mutable / Safe.hs
1 #if __GLASGOW_HASKELL__ >= 701 && defined(VECTOR_BOUNDS_CHECKS)
2 {-# LANGUAGE Trustworthy #-}
3 #endif
4
5 -- |
6 -- Module : Data.Vector.Mutable.Safe
7 -- Copyright : (c) Roman Leshchinskiy 2008-2010
8 -- License : BSD-style
9 --
10 -- Maintainer : Roman Leshchinskiy <rl@cse.unsw.edu.au>
11 -- Stability : experimental
12 -- Portability : non-portable
13 --
14 -- Safe interface to "Data.Vector.Mutable"
15 --
16
17 module Data.Vector.Mutable.Safe (
18 -- * Mutable boxed vectors
19 MVector, IOVector, STVector,
20
21 -- * Accessors
22
23 -- ** Length information
24 length, null,
25
26 -- ** Extracting subvectors
27 slice, init, tail, take, drop, splitAt,
28
29 -- ** Overlapping
30 overlaps,
31
32 -- * Construction
33
34 -- ** Initialisation
35 new, replicate, replicateM, clone,
36
37 -- ** Growing
38 grow,
39
40 -- ** Restricting memory usage
41 clear,
42
43 -- * Accessing individual elements
44 read, write, swap,
45
46 -- * Modifying vectors
47
48 -- ** Filling and copying
49 set, copy, move
50 ) where
51
52 import Data.Vector.Mutable
53 import Prelude ()
54