streamly-core-0.1.0: src/Streamly/Data/MutArray.hs
{-# LANGUAGE CPP #-}
-- |
-- Module : Streamly.Data.MutArray
-- Copyright : (c) 2022 Composewell Technologies
--
-- License : BSD3
-- Maintainer : streamly@composewell.com
-- Stability : released
-- Portability : GHC
--
-- This module provides a mutable version of "Streamly.Data.Array". The
-- contents of a mutable array can be modified in-place. For general
-- documentation, please refer to the original module.
--
-- Please refer to "Streamly.Internal.Data.Array.Mut" for functions that have
-- not yet been released.
--
-- For mutable arrays that work on boxed types, not requiring the 'Unbox'
-- constraint, please refer to "Streamly.Data.MutArray.Generic".
module Streamly.Data.MutArray
(
-- * Setup
-- | To execute the code examples provided in this module in ghci, please
-- run the following commands first.
--
-- $setup
-- * Mutable Array Type
MutArray
-- * Construction
-- Uninitialized Arrays
, new
, newPinned
-- From containers
, fromListN
, fromList
, writeN -- drop new
, write -- full buffer
-- writeLastN
-- * Appending elements
, snoc
-- * Appending streams
, writeAppendN
, writeAppend
-- * Inplace mutation
, putIndex
-- * Random access
, getIndex
-- * Conversion
, toList
-- * Unfolds
, reader
, readerRev
-- * Casting
, cast
, asBytes
-- * Size
, length
-- * Unbox Type Class
, Unbox (..)
)
where
import Prelude hiding (length, read)
import Streamly.Internal.Data.Array.Mut
import Streamly.Internal.Data.Unboxed (Unbox (..))
#include "DocTestDataMutArray.hs"