wl_array
Section: Wayland (3)
Updated: Tue Jun 1 2021
Index 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.
Index
- NAME
- SYNOPSIS
- Public Member Functions
- Data Fields
- Related Functions
- Detailed Description
- Member Function Documentation
- void * wl_array_add (struct wl_array * array, size_t size)
- int wl_array_copy (struct wl_array * array, struct wl_array * source)
- void wl_array_init (struct wl_array * array)
- void wl_array_release (struct wl_array * array)
- Friends And Related Function Documentation
- #define wl_array_for_each(pos, array) [related]
- Field Documentation
- size_t wl_array::alloc
- void* wl_array::data
- size_t wl_array::size
- Author
This document was created byman2html,using the manual pages.