rio-0.1.10.0: src/RIO/Vector/Boxed.hs
{-# LANGUAGE CPP #-}
-- | Boxed @Vector@. Import as:
--
-- > import qualified RIO.Vector.Boxed as VB
--
-- This module does not export any partial or unsafe functions. For those, see
-- "RIO.Vector.Boxed.Partial" and "RIO.Vector.Boxed.Unsafe"
module RIO.Vector.Boxed
(
-- * Boxed vectors
Data.Vector.Vector
, Data.Vector.MVector
-- * Accessors
-- ** Length information
, Data.Vector.length
, Data.Vector.null
-- ** Indexing
, (Data.Vector.!?)
-- ** Extracting subvectors
, Data.Vector.slice
, Data.Vector.take
, Data.Vector.drop
, Data.Vector.splitAt
-- * Construction
-- ** Initialisation
, Data.Vector.empty
, Data.Vector.singleton
, Data.Vector.replicate
, Data.Vector.generate
, Data.Vector.iterateN
-- ** Monadic initialisation
, Data.Vector.replicateM
, Data.Vector.generateM
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.iterateNM
#endif
, Data.Vector.create
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.createT
#endif
-- ** Unfolding
, Data.Vector.unfoldr
, Data.Vector.unfoldrN
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.unfoldrM
, Data.Vector.unfoldrNM
#endif
, Data.Vector.constructN
, Data.Vector.constructrN
-- ** Enumeration
, Data.Vector.enumFromN
, Data.Vector.enumFromStepN
, Data.Vector.enumFromTo
, Data.Vector.enumFromThenTo
-- ** Concatenation
, Data.Vector.cons
, Data.Vector.snoc
, (Data.Vector.++)
, Data.Vector.concat
-- ** Restricting memory usage
, Data.Vector.force
-- * Modifying vectors
-- ** Permutations
, Data.Vector.reverse
-- ** Safe destructive update
, Data.Vector.modify
-- * Elementwise operations
-- ** Indexing
, Data.Vector.indexed
-- ** Mapping
, Data.Vector.map
, Data.Vector.imap
, Data.Vector.concatMap
-- ** Monadic mapping
, Data.Vector.mapM
, Data.Vector.imapM
, Data.Vector.mapM_
, Data.Vector.imapM_
, Data.Vector.forM
, Data.Vector.forM_
-- ** Zipping
, Data.Vector.zipWith
, Data.Vector.zipWith3
, Data.Vector.zipWith4
, Data.Vector.zipWith5
, Data.Vector.zipWith6
, Data.Vector.izipWith
, Data.Vector.izipWith3
, Data.Vector.izipWith4
, Data.Vector.izipWith5
, Data.Vector.izipWith6
, Data.Vector.zip
, Data.Vector.zip3
, Data.Vector.zip4
, Data.Vector.zip5
, Data.Vector.zip6
-- ** Monadic zipping
, Data.Vector.zipWithM
, Data.Vector.izipWithM
, Data.Vector.zipWithM_
, Data.Vector.izipWithM_
-- ** Unzipping
, Data.Vector.unzip
, Data.Vector.unzip3
, Data.Vector.unzip4
, Data.Vector.unzip5
, Data.Vector.unzip6
-- * Working with predicates
-- ** Filtering
, Data.Vector.filter
, Data.Vector.ifilter
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.uniq
, Data.Vector.mapMaybe
, Data.Vector.imapMaybe
#endif
, Data.Vector.filterM
, Data.Vector.takeWhile
, Data.Vector.dropWhile
-- ** Partitioning
, Data.Vector.partition
, Data.Vector.unstablePartition
, Data.Vector.span
, Data.Vector.break
-- ** Searching
, Data.Vector.elem
, Data.Vector.notElem
, Data.Vector.find
, Data.Vector.findIndex
, Data.Vector.findIndices
, Data.Vector.elemIndex
, Data.Vector.elemIndices
-- * Folding
, Data.Vector.foldl
, Data.Vector.foldl'
, Data.Vector.foldr
, Data.Vector.foldr'
, Data.Vector.ifoldl
, Data.Vector.ifoldl'
, Data.Vector.ifoldr
, Data.Vector.ifoldr'
-- ** Specialised folds
, Data.Vector.all
, Data.Vector.any
, Data.Vector.and
, Data.Vector.or
, Data.Vector.sum
, Data.Vector.product
-- ** Monadic folds
, Data.Vector.foldM
, Data.Vector.ifoldM
, Data.Vector.foldM'
, Data.Vector.ifoldM'
, Data.Vector.foldM_
, Data.Vector.ifoldM_
, Data.Vector.foldM'_
, Data.Vector.ifoldM'_
-- ** Monadic sequencing
, Data.Vector.sequence
, Data.Vector.sequence_
-- * Prefix sums (scans)
, Data.Vector.prescanl
, Data.Vector.prescanl'
, Data.Vector.postscanl
, Data.Vector.postscanl'
, Data.Vector.scanl
, Data.Vector.scanl'
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.iscanl
, Data.Vector.iscanl'
#endif
, Data.Vector.prescanr
, Data.Vector.prescanr'
, Data.Vector.postscanr
, Data.Vector.postscanr'
, Data.Vector.scanr
, Data.Vector.scanr'
#if MIN_VERSION_vector(0,12,0)
, Data.Vector.iscanr
, Data.Vector.iscanr'
#endif
-- * Conversions
-- ** Lists
, Data.Vector.toList
, Data.Vector.fromList
, Data.Vector.fromListN
-- ** Different vector types
, Data.Vector.convert
-- ** Mutable vectors
, Data.Vector.freeze
, Data.Vector.thaw
, Data.Vector.copy
) where
import qualified Data.Vector