Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
BitWriter
provides a bit writer that can write any number of
bits into a memory buffer. It provides functions for writing any
number of bits into 8, 16, 32 and 64 bit variables.
Since: 1.16
Synopsis
- newtype BitWriter = BitWriter (ManagedPtr BitWriter)
- newZeroBitWriter :: MonadIO m => m BitWriter
- bitWriterAlignBytes :: (HasCallStack, MonadIO m) => BitWriter -> Word8 -> m Bool
- bitWriterFree :: (HasCallStack, MonadIO m) => BitWriter -> m ()
- bitWriterFreeAndGetBuffer :: (HasCallStack, MonadIO m) => BitWriter -> m Buffer
- bitWriterGetSize :: (HasCallStack, MonadIO m) => BitWriter -> m Word32
- bitWriterPutBitsUint16 :: (HasCallStack, MonadIO m) => BitWriter -> Word16 -> Word32 -> m Bool
- bitWriterPutBitsUint32 :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> Word32 -> m Bool
- bitWriterPutBitsUint64 :: (HasCallStack, MonadIO m) => BitWriter -> Word64 -> Word32 -> m Bool
- bitWriterPutBitsUint8 :: (HasCallStack, MonadIO m) => BitWriter -> Word8 -> Word32 -> m Bool
- bitWriterPutBytes :: (HasCallStack, MonadIO m) => BitWriter -> Ptr Word8 -> Word32 -> m Bool
- bitWriterReset :: (HasCallStack, MonadIO m) => BitWriter -> m ()
- bitWriterResetAndGetBuffer :: (HasCallStack, MonadIO m) => BitWriter -> m Buffer
- bitWriterSetPos :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> m Bool
- getBitWriterBitSize :: MonadIO m => BitWriter -> m Word32
- setBitWriterBitSize :: MonadIO m => BitWriter -> Word32 -> m ()
- getBitWriterData :: MonadIO m => BitWriter -> m Word8
- setBitWriterData :: MonadIO m => BitWriter -> Word8 -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq BitWriter Source # | |
BoxedPtr BitWriter Source # | |
Defined in GI.GstBase.Structs.BitWriter boxedPtrCopy :: BitWriter -> IO BitWriter boxedPtrFree :: BitWriter -> IO () | |
CallocPtr BitWriter Source # | |
Defined in GI.GstBase.Structs.BitWriter boxedPtrCalloc :: IO (Ptr BitWriter) | |
ManagedPtrNewtype BitWriter Source # | |
Defined in GI.GstBase.Structs.BitWriter toManagedPtr :: BitWriter -> ManagedPtr BitWriter | |
tag ~ 'AttrSet => Constructible BitWriter tag Source # | |
newZeroBitWriter :: MonadIO m => m BitWriter Source #
Construct a BitWriter
struct initialized to zero.
Methods
Click to display all available methods, including inherited ones
Methods
alignBytes, free, freeAndGetBuffer, putBitsUint16, putBitsUint32, putBitsUint64, putBitsUint8, putBytes, reset, resetAndGetBuffer.
Getters
Setters
alignBytes
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word8 |
|
-> m Bool |
Write trailing bit to align last byte of data
. trailingBit
can
only be 1 or 0.
free
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m () |
Frees bitwriter
and the allocated data inside.
freeAndGetBuffer
bitWriterFreeAndGetBuffer Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Buffer | Returns: a new allocated |
Frees bitwriter
without destroying the internal data, which is
returned as Buffer
.
Free-function: gst_buffer_unref
getSize
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Word32 | Returns: size of bits written in |
Get size of written data
putBitsUint16
bitWriterPutBitsUint16 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word16 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint32
bitWriterPutBitsUint32 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word32 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint64
bitWriterPutBitsUint64 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word64 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBitsUint8
bitWriterPutBitsUint8 Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Word8 |
|
-> Word32 |
|
-> m Bool |
Write nbits
bits of value
to BitWriter
.
putBytes
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> Ptr Word8 |
|
-> Word32 |
|
-> m Bool |
Write nbytes
bytes of data
to BitWriter
.
reset
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m () |
Resets bitwriter
and frees the data if it's owned by bitwriter
.
resetAndGetBuffer
bitWriterResetAndGetBuffer Source #
:: (HasCallStack, MonadIO m) | |
=> BitWriter |
|
-> m Buffer | Returns: a new allocated |
Resets bitwriter
and returns the current data as Buffer
.
Free-function: gst_buffer_unref
setPos
bitWriterSetPos :: (HasCallStack, MonadIO m) => BitWriter -> Word32 -> m Bool Source #
No description available in the introspection data.
Properties
bitSize
Size of written data
in bits
getBitWriterBitSize :: MonadIO m => BitWriter -> m Word32 Source #
Get the value of the “bit_size
” field.
When overloading is enabled, this is equivalent to
get
bitWriter #bitSize
setBitWriterBitSize :: MonadIO m => BitWriter -> Word32 -> m () Source #
Set the value of the “bit_size
” field.
When overloading is enabled, this is equivalent to
set
bitWriter [ #bitSize:=
value ]
data
Allocated data
for bit writer to write
getBitWriterData :: MonadIO m => BitWriter -> m Word8 Source #
Get the value of the “data
” field.
When overloading is enabled, this is equivalent to
get
bitWriter #data
setBitWriterData :: MonadIO m => BitWriter -> Word8 -> m () Source #
Set the value of the “data
” field.
When overloading is enabled, this is equivalent to
set
bitWriter [ #data:=
value ]