GLib.ByteArray¶
Fields¶
Name |
Type |
Access |
Description |
---|---|---|---|
data |
r/w |
a pointer to the element data. The data may be moved as elements are added to the |
|
len |
r/w |
the number of elements in the |
Methods¶
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
class |
|
Details¶
- class GLib.ByteArray¶
Contains the public fields of a
GLib.ByteArray
.- classmethod append(array, data, len)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
data (
int
) – the byte data to be addedlen (
int
) – the number of bytes to add
- Returns:
the
GLib.ByteArray
- Return type:
Adds the given bytes to the end of the
GLib.ByteArray
. The array will grow in size automatically if necessary.
- classmethod free(array, free_segment)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
free_segment (
bool
) – ifTrue
the actual byte data is freed as well
- Returns:
the element data if free_segment is
False
, otherwiseNone
. The element data should be freed usingGLib.free
().- Return type:
Frees the memory allocated by the
GLib.ByteArray
. If free_segment isTrue
it frees the actual byte data. If the reference count of array is greater than one, theGLib.ByteArray
wrapper is preserved but the size of array will be set to zero.
- classmethod free_to_bytes(array)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
- Returns:
a new immutable
GLib.Bytes
representing same byte data that was in the array- Return type:
Transfers the data from the
GLib.ByteArray
into a new immutableGLib.Bytes
.The
GLib.ByteArray
is freed unless the reference count of array is greater than one, theGLib.ByteArray
wrapper is preserved but the size of array will be set to zero.This is identical to using
GLib.Bytes.new_take
() andGLib.ByteArray.free
() together.New in version 2.32.
- classmethod new()[source]¶
- Returns:
the new
GLib.ByteArray
- Return type:
Creates a new
GLib.ByteArray
with a reference count of 1.
- classmethod new_take(data)[source]¶
- Parameters:
data (
bytes
) – byte data for the array- Returns:
a new
GLib.ByteArray
- Return type:
Creates a byte array containing the data. After this call, data belongs to the
GLib.ByteArray
and may no longer be modified by the caller. The memory of data has to be dynamically allocated and will eventually be freed withGLib.free
().Do not use it if len is greater than %G_MAXUINT.
GLib.ByteArray
stores the length of its data inint
, which may be shorter than #gsize.New in version 2.32.
- classmethod prepend(array, data, len)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
data (
int
) – the byte data to be addedlen (
int
) – the number of bytes to add
- Returns:
the
GLib.ByteArray
- Return type:
Adds the given data to the start of the
GLib.ByteArray
. The array will grow in size automatically if necessary.
- classmethod ref(array)[source]¶
- Parameters:
array (
bytes
) – AGLib.ByteArray
- Returns:
The passed in
GLib.ByteArray
- Return type:
Atomically increments the reference count of array by one. This function is thread-safe and may be called from any thread.
New in version 2.22.
- classmethod remove_index(array, index_)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
index (
int
) – the index of the byte to remove
- Returns:
the
GLib.ByteArray
- Return type:
Removes the byte at the given index from a
GLib.ByteArray
. The following bytes are moved down one place.
- classmethod remove_index_fast(array, index_)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
index (
int
) – the index of the byte to remove
- Returns:
the
GLib.ByteArray
- Return type:
Removes the byte at the given index from a
GLib.ByteArray
. The last element in the array is used to fill in the space, so this function does not preserve the order of theGLib.ByteArray
. But it is faster thanGLib.ByteArray.remove_index
().
- classmethod remove_range(array, index_, length)[source]¶
- Parameters:
- Returns:
the
GLib.ByteArray
- Return type:
Removes the given number of bytes starting at the given index from a
GLib.ByteArray
. The following elements are moved to close the gap.New in version 2.4.
- classmethod set_size(array, length)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
length (
int
) – the new size of theGLib.ByteArray
- Returns:
the
GLib.ByteArray
- Return type:
Sets the size of the
GLib.ByteArray
, expanding it if necessary.
- classmethod sized_new(reserved_size)[source]¶
- Parameters:
reserved_size (
int
) – number of bytes preallocated- Returns:
the new
GLib.ByteArray
- Return type:
Creates a new
GLib.ByteArray
with reserved_size bytes preallocated. This avoids frequent reallocation, if you are going to add many bytes to the array. Note however that the size of the array is still 0.
- classmethod sort(array, compare_func)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
compare_func (
GLib.CompareFunc
) – comparison function
Sorts a byte array, using compare_func which should be a qsort()-style comparison function (returns less than zero for first arg is less than second arg, zero for equal, greater than zero if first arg is greater than second arg).
If two array elements compare equal, their order in the sorted array is undefined. If you want equal elements to keep their order (i.e. you want a stable sort) you can write a comparison function that, if two elements would otherwise compare equal, compares them by their addresses.
- classmethod sort_with_data(array, compare_func, *user_data)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
compare_func (
GLib.CompareDataFunc
) – comparison function
Like
GLib.ByteArray.sort
(), but the comparison function takes an extra user data argument.
- classmethod steal(array)[source]¶
- Parameters:
array (
bytes
) – aGLib.ByteArray
.- Returns:
the element data, which should be freed using
GLib.free
().- len:
pointer to retrieve the number of elements of the original array
- Return type:
Frees the data in the array and resets the size to zero, while the underlying array is preserved for use elsewhere and returned to the caller.
New in version 2.64.
- classmethod unref(array)[source]¶
- Parameters:
array (
bytes
) – AGLib.ByteArray
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.
New in version 2.22.