Provided by: libwayland-doc_1.16.0-1ubuntu1.1~18.04.4_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 Functions (Note that these are not member functions.) #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 Function Documentation
#define wl_array_for_each(pos, array) [related] Value: 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.