Bytes

class Bytes(pointer: <Error class: unknown class><<Error class: unknown class>>) : Record

A simple refcounted data type representing an immutable sequence of zero or more bytes from an unspecified origin.

The purpose of a #GBytes is to keep the memory region that it holds alive for as long as anyone holds a reference to the bytes. When the last reference count is dropped, the memory is released. Multiple unrelated callers can use byte data in the #GBytes without coordinating their activities, resting assured that the byte data will not change or move while they hold a reference.

A #GBytes can come from many different origins that may have different procedures for freeing the memory region. Examples are memory from g_malloc(), from memory slices, from a #GMappedFile or memory from other allocators.

#GBytes work well as keys in #GHashTable. Use g_bytes_equal() and g_bytes_hash() as parameters to g_hash_table_new() or g_hash_table_new_full(). #GBytes can also be used as keys in a #GTree by passing the g_bytes_compare() function to g_tree_new().

The data pointed to by this bytes must not be modified. For a mutable array of bytes see #GByteArray. Use g_bytes_unref_to_array() to create a mutable array for a #GBytes sequence. To create an immutable #GBytes from a mutable #GByteArray, use the g_byte_array_free_to_bytes() function.

Skipped during bindings generation

  • parameter bytes2: Bytes

  • parameter bytes2: Bytes

  • parameter size: size: Out parameter is not supported

  • method get_region: Return type gpointer is unsupported

  • method unref_to_array: Array parameter of type guint8 is not supported

  • parameter size: size: Out parameter is not supported

  • parameter data: Array parameter of type guint8 is not supported

  • parameter data: Array parameter of type guint8 is not supported

Since

2.32

Constructors

Link copied to clipboard
constructor(pointer: <Error class: unknown class><<Error class: unknown class>>)

Types

Link copied to clipboard
object Companion : RecordCompanion<Bytes, <Error class: unknown class>>

Properties

Link copied to clipboard
val glibBytesPointer: <Error class: unknown class><<Error class: unknown class>>

Functions

Link copied to clipboard
fun getSize(): <Error class: unknown class>

Get the size of the byte data in the #GBytes.

Link copied to clipboard
fun hash(): <Error class: unknown class>

Creates an integer hash code for the byte data in the #GBytes.

Link copied to clipboard
fun newFromBytes(offset: <Error class: unknown class>, length: <Error class: unknown class>): Bytes

Creates a #GBytes which is a subsection of another #GBytes. The @offset +

Link copied to clipboard
fun ref(): Bytes

Increase the reference count on @bytes.

Link copied to clipboard
fun unref()

Releases a reference on @bytes. This may result in the bytes being freed. If @bytes is null, it will return immediately.