Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
GI.GLib.Structs.ByteArray
Contents
Description
Contains the public fields of a GByteArray.
Synopsis
- newtype ByteArray = ByteArray (ManagedPtr ByteArray)
- newZeroByteArray :: MonadIO m => m ByteArray
- noByteArray :: Maybe ByteArray
- byteArrayFree :: (HasCallStack, MonadIO m) => ByteString -> Bool -> m Word8
- byteArrayFreeToBytes :: (HasCallStack, MonadIO m) => ByteString -> m Bytes
- byteArrayNew :: (HasCallStack, MonadIO m) => m ByteString
- byteArrayNewTake :: (HasCallStack, MonadIO m) => ByteString -> m ByteString
- byteArrayUnref :: (HasCallStack, MonadIO m) => ByteString -> m ()
- getByteArrayData :: MonadIO m => ByteArray -> m Word8
- setByteArrayData :: MonadIO m => ByteArray -> Word8 -> m ()
- getByteArrayLen :: MonadIO m => ByteArray -> m Word32
- setByteArrayLen :: MonadIO m => ByteArray -> Word32 -> m ()
Exported types
Memory-managed wrapper type.
newZeroByteArray :: MonadIO m => m ByteArray Source #
Construct a ByteArray
struct initialized to zero.
noByteArray :: Maybe ByteArray Source #
A convenience alias for Nothing
:: Maybe
ByteArray
.
Methods
Overloaded methods
free
freeToBytes
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteString |
|
-> m Bytes | Returns: a new immutable t |
Transfers the data from the tByteArray
into a new immutable tBytes
.
The tByteArray
is freed unless the reference count of array
is greater
than one, the tByteArray
wrapper is preserved but the size of array
will be set to zero.
This is identical to using bytesNewTake
and byteArrayFree
together.
Since: 2.32
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m ByteString | Returns: the new t |
Creates a new tByteArray
with a reference count of 1.
newTake
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteString |
|
-> m ByteString | Returns: a new t |
unref
Arguments
:: (HasCallStack, MonadIO m) | |
=> ByteString |
|
-> m () |
Atomically decrements the reference count of array
by one. If the
reference count drops to 0, all memory allocated by the array is
released. This function is thread-safe and may be called from any
thread.
Since: 2.22
Properties
data
a pointer to the element data. The data may be moved as
elements are added to the tByteArray
getByteArrayData :: MonadIO m => ByteArray -> m Word8 Source #
Get the value of the “data
” field.
When overloading is enabled, this is equivalent to
get
byteArray #data
setByteArrayData :: MonadIO m => ByteArray -> Word8 -> m () Source #
Set the value of the “data
” field.
When overloading is enabled, this is equivalent to
set
byteArray [ #data:=
value ]
len
the number of elements in the tByteArray
getByteArrayLen :: MonadIO m => ByteArray -> m Word32 Source #
Get the value of the “len
” field.
When overloading is enabled, this is equivalent to
get
byteArray #len
setByteArrayLen :: MonadIO m => ByteArray -> Word32 -> m () Source #
Set the value of the “len
” field.
When overloading is enabled, this is equivalent to
set
byteArray [ #len:=
value ]