Safe Haskell | None |
---|---|
Language | Haskell2010 |
Data.Primitive.SmallArray
- data SmallArray a :: * -> * = SmallArray (SmallArray# a)
- data SmallMutableArray s a :: * -> * -> * = SmallMutableArray (SmallMutableArray# s a)
- newSmallArray :: PrimMonad m => Int -> a -> m (SmallMutableArray (PrimState m) a)
- readSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> m a
- writeSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> a -> m ()
- indexSmallArray :: SmallArray a -> Int -> a
- indexSmallArrayM :: Monad m => SmallArray a -> Int -> m a
- freezeSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> Int -> m (SmallArray a)
- thawSmallArray :: PrimMonad m => SmallArray a -> Int -> Int -> m (SmallMutableArray (PrimState m) a)
- unsafeFreezeSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> m (SmallArray a)
- unsafeThawSmallArray :: PrimMonad m => SmallArray a -> m (SmallMutableArray (PrimState m) a)
- copySmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> SmallArray a -> Int -> Int -> m ()
- copySmallMutableArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> SmallMutableArray (PrimState m) a -> Int -> Int -> m ()
- cloneSmallArray :: SmallArray a -> Int -> Int -> SmallArray a
- cloneSmallMutableArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> Int -> m (SmallMutableArray (PrimState m) a)
- sizeofSmallArray :: SmallArray a -> Int
- sizeofSmallMutableArray :: SmallMutableArray s a -> Int
Documentation
data SmallArray a :: * -> * #
Constructors
SmallArray (SmallArray# a) |
Instances
Monad SmallArray | |
Functor SmallArray | |
MonadFix SmallArray | |
Applicative SmallArray | |
Foldable SmallArray | |
Traversable SmallArray | |
MonadZip SmallArray | |
Alternative SmallArray | |
MonadPlus SmallArray | |
IsList (SmallArray a) | |
Eq a => Eq (SmallArray a) | |
Data a => Data (SmallArray a) | |
Ord a => Ord (SmallArray a) | |
Read a => Read (SmallArray a) | |
Show a => Show (SmallArray a) | |
Semigroup (SmallArray a) | |
Monoid (SmallArray a) | |
PrimUnlifted (SmallArray a) | |
type Item (SmallArray a) | |
data SmallMutableArray s a :: * -> * -> * #
Constructors
SmallMutableArray (SmallMutableArray# s a) |
Instances
Eq (SmallMutableArray s a) | |
(Typeable * s, Typeable * a) => Data (SmallMutableArray s a) | |
PrimUnlifted (SmallMutableArray s a) | |
newSmallArray :: PrimMonad m => Int -> a -> m (SmallMutableArray (PrimState m) a) Source #
readSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> m a Source #
writeSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> Int -> a -> m () Source #
indexSmallArray :: SmallArray a -> Int -> a Source #
indexSmallArrayM :: Monad m => SmallArray a -> Int -> m a Source #
Arguments
:: PrimMonad m | |
=> SmallMutableArray (PrimState m) a | source |
-> Int | offset |
-> Int | length |
-> m (SmallArray a) |
Arguments
:: PrimMonad m | |
=> SmallArray a | source |
-> Int | offset |
-> Int | length |
-> m (SmallMutableArray (PrimState m) a) |
unsafeFreezeSmallArray :: PrimMonad m => SmallMutableArray (PrimState m) a -> m (SmallArray a) #
Render a mutable array immutable.
This operation performs no copying, so care must be taken not to modify the input array after freezing.
unsafeThawSmallArray :: PrimMonad m => SmallArray a -> m (SmallMutableArray (PrimState m) a) #
Render an immutable array mutable.
This operation performs no copying, so care must be taken with its use.
Arguments
:: PrimMonad m | |
=> SmallMutableArray (PrimState m) a | destination array |
-> Int | offset into destination array |
-> SmallArray a | source array |
-> Int | offset into source array |
-> Int | number of elements to copy |
-> m () |
copySmallMutableArray Source #
Arguments
:: PrimMonad m | |
=> SmallMutableArray (PrimState m) a | destination array |
-> Int | offset into destination array |
-> SmallMutableArray (PrimState m) a | source array |
-> Int | offset into source array |
-> Int | number of elements to copy |
-> m () |
Arguments
:: SmallArray a | source array |
-> Int | offset into destination array |
-> Int | number of elements to copy |
-> SmallArray a |
cloneSmallMutableArray Source #
Arguments
:: PrimMonad m | |
=> SmallMutableArray (PrimState m) a | source array |
-> Int | offset into destination array |
-> Int | number of elements to copy |
-> m (SmallMutableArray (PrimState m) a) |
sizeofSmallArray :: SmallArray a -> Int #
sizeofSmallMutableArray :: SmallMutableArray s a -> Int #