SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG
DONATE


YUM REPOSITORY

 
 

wl_array

Section: Wayland (3)
Updated: Tue Apr 7 2020
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.