Safe Haskell | None |
---|---|
Language | Haskell2010 |
FIXME: doc
Synopsis
- type MByteArray s = MutableByteArray s
- underlyingMutableByteArray# :: MByteArray s -> MutableByteArray# s
- new :: PrimMonad m => Int -> m (MByteArray (PrimState m))
- newPinned :: PrimMonad m => Int -> m (MByteArray (PrimState m))
- newAlignedPinned :: PrimMonad m => Int -> Int -> m (MByteArray (PrimState m))
- read :: (Prim a, PrimMonad m) => MByteArray (PrimState m) -> Int -> m a
- write :: (Prim a, PrimMonad m) => MByteArray (PrimState m) -> Int -> a -> m ()
- unsafeFreeze :: PrimMonad m => MByteArray (PrimState m) -> m IByteArray
- unsafeThaw :: PrimMonad m => IByteArray -> m (MByteArray (PrimState m))
- copyFromIByteArray :: PrimMonad m => MByteArray (PrimState m) -> Int -> IByteArray -> Int -> Int -> m ()
- copyFromMByteArray :: PrimMonad m => MByteArray (PrimState m) -> Int -> MByteArray (PrimState m) -> Int -> Int -> m ()
- move :: PrimMonad m => MByteArray (PrimState m) -> Int -> MByteArray (PrimState m) -> Int -> Int -> m ()
- set :: (Prim a, PrimMonad m) => MByteArray (PrimState m) -> Int -> Int -> a -> m ()
- fill :: PrimMonad m => MByteArray (PrimState m) -> Int -> Int -> Word8 -> m ()
- sizeof :: MByteArray s -> Int
- same :: MByteArray s -> MByteArray s -> Bool
- contents :: MByteArray s -> Ptr Word8
MByteArray
type MByteArray s = MutableByteArray s Source #
FIXME: doc
underlyingMutableByteArray# Source #
:: MByteArray s | FIXME: doc |
-> MutableByteArray# s | FIXME: doc |
FIXME: doc
Creation
:: PrimMonad m | |
=> Int | FIXME: doc |
-> m (MByteArray (PrimState m)) | FIXME: doc |
Create a new mutable byte array of the specified size in bytes.
:: PrimMonad m | |
=> Int | FIXME: doc |
-> m (MByteArray (PrimState m)) | FIXME: doc |
Create a pinned byte array of the specified size in bytes. The garbage collector is guaranteed not to move it.
:: PrimMonad m | |
=> Int | FIXME: doc |
-> Int | FIXME: doc |
-> m (MByteArray (PrimState m)) | FIXME: doc |
Create a pinned byte array of the specified size in bytes and with the give alignment. The garbage collector is guaranteed not to move it.
Element access
:: (Prim a, PrimMonad m) | |
=> MByteArray (PrimState m) | FIXME: doc |
-> Int | FIXME: doc |
-> m a | FIXME: doc |
Read a primitive value from the byte array. The offset is given in
elements of type a
rather than in bytes.
:: (Prim a, PrimMonad m) | |
=> MByteArray (PrimState m) | FIXME: doc |
-> Int | FIXME: doc |
-> a | FIXME: doc |
-> m () | FIXME: doc |
Write a primitive value to the byte array. The offset is given in
elements of type a
rather than in bytes.
Freezing and thawing
:: PrimMonad m | |
=> MByteArray (PrimState m) | FIXME: doc |
-> m IByteArray | FIXME: doc |
Convert a mutable byte array to an immutable one without copying. The array should not be modified after the conversion.
:: PrimMonad m | |
=> IByteArray | FIXME: doc |
-> m (MByteArray (PrimState m)) | FIXME: doc |
Convert an immutable byte array to a mutable one without copying. The original array should not be used after the conversion.
Block operations
:: PrimMonad m | |
=> MByteArray (PrimState m) |
|
-> Int |
|
-> IByteArray |
|
-> Int |
|
-> Int |
|
-> m () | FIXME: doc |
Copy a slice of an immutable byte array to a mutable byte array.
:: PrimMonad m | |
=> MByteArray (PrimState m) |
|
-> Int |
|
-> MByteArray (PrimState m) |
|
-> Int |
|
-> Int |
|
-> m () | FIXME: doc |
Copy a slice of a mutable byte array into another array. The two slices must not overlap.
:: PrimMonad m | |
=> MByteArray (PrimState m) |
|
-> Int |
|
-> MByteArray (PrimState m) |
|
-> Int |
|
-> Int |
|
-> m () | FIXME: doc |
Copy a slice of a mutable byte array into another array. The given arrays are allowed to overlap.
:: (Prim a, PrimMonad m) | |
=> MByteArray (PrimState m) |
|
-> Int |
|
-> Int |
|
-> a |
|
-> m () | FIXME: doc |
Fill a slice of a mutable byte array with a value.
The offset and length parameters are given as a number of elements
of type a
rather than in bytes. In other words, the offset and length
work like C arrays, rather than like C pointers.
:: PrimMonad m | |
=> MByteArray (PrimState m) |
|
-> Int |
|
-> Int |
|
-> Word8 |
|
-> m () | FIXME: doc |
Fill a slice of a mutable byte array with a byte.
Information
:: MByteArray s | FIXME: doc |
-> MByteArray s | FIXME: doc |
-> Bool | FIXME: doc |
Check if the two arrays refer to the same memory block.