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