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