Provided by: libwayland-doc_1.22.0-2.1build1_all 

NAME
wl_array
SYNOPSIS
#include <wayland-util.h>
Public Member Functions
void wl_array_init (struct wl_array *array)
void wl_array_release (struct wl_array *array)
void * wl_array_add (struct wl_array *array, size_t size)
int wl_array_copy (struct wl_array *array, struct wl_array *source)
Data Fields
size_t size
size_t alloc
void * data
Related Symbols
(Note that these are not member symbols.)
#define wl_array_for_each(pos, array)
Detailed Description
Dynamic array
A wl_array is a dynamic array that can only grow until released. It is intended for relatively small
allocations whose size is variable or not known in advance. While construction of a wl_array does not
require all elements to be of the same size, wl_array_for_each() does require all elements to have the
same type and size.
Member Function Documentation
void * wl_array_add (struct wl_array * array, size_t size)
Increases the size of the array by size bytes.
Parameters
array Array whose size is to be increased
size Number of bytes to increase the size of the array by
Returns
A pointer to the beginning of the newly appended space, or NULL when resizing fails.
int wl_array_copy (struct wl_array * array, struct wl_array * source)
Copies the contents of source to array.
Parameters
array Destination array to copy to
source Source array to copy from
Returns
0 on success, or -1 on failure
void wl_array_init (struct wl_array * array)
Initializes the array.
Parameters
array Array to initialize
void wl_array_release (struct wl_array * array)
Releases the array data.
Note
Leaves the array in an invalid state.
Parameters
array Array whose data is to be released
Friends And Related Symbol Documentation
#define wl_array_for_each(pos, array) [related]
Value:.PP
for (pos = (array)->data; \
(const char *) pos < ((const char *) (array)->data + (array)->size); \
(pos)++)
Iterates over an array.
This macro expresses a for-each iterator for wl_array. It assigns each element in the array to pos, which
can then be referenced in a trailing code block. pos must be a pointer to the array element type, and all
array elements must be of the same type and size.
Parameters
pos Cursor that each array element will be assigned to
array Array to iterate over
See also
wl_list_for_each()
Field Documentation
size_t wl_array::alloc
Allocated space
void* wl_array::data
Array data
size_t wl_array::size
Array size
Author
Generated automatically by Doxygen for Wayland from the source code.
Version 1.22.0 Mon Apr 8 2024 16:21:56 wl_array(3)