Loading...
Searching...
No Matches
array.h File Reference
Utilities » Array

`pipewire/array.h` More...

Go to the source code of this file.

## Data Structures

struct | pw_array

## Macros

#define | PW_ARRAY_INIT(extend) ((struct pw_array) { NULL, 0, 0, (extend) })
#define | pw_array_get_len_s(a, s) ((a)->size / (s))
#define | pw_array_get_unchecked_s(a, idx, s, t) SPA_PTROFF((a)->data,(idx)*(s),t)
#define | pw_array_check_index_s(a, idx, s) ((idx) < pw_array_get_len_s(a,s))
#define | pw_array_get_len(a, t) pw_array_get_len_s(a,sizeof(t))
| Get the number of items of type t in array.
#define | pw_array_get_unchecked(a, idx, t) pw_array_get_unchecked_s(a,idx,sizeof(t),t)
| Get the item with index idx and type t from array.
#define | pw_array_check_index(a, idx, t) pw_array_check_index_s(a,idx,sizeof(t))
| Check if an item with index idx and type t exist in array.
#define | pw_array_first(a) ((a)->data)
#define | pw_array_end(a) SPA_PTROFF((a)->data, (a)->size, void)
#define | pw_array_check(a, p) (SPA_PTROFF(p,sizeof(*(p)),void) <= pw_array_end(a))
#define | pw_array_for_each(pos, array)
#define | pw_array_consume(pos, array)
#define | pw_array_remove(a, p)
#define | pw_array_add_ptr(a, p) *((void**) pw_array_add(a, sizeof(void*))) = (p)
| Add a pointer to array.

## Functions

static void | pw_array_init (struct pw_array *arr, size_t extend)
| Initialize the array with given extend.
static void | pw_array_clear (struct pw_array *arr)
| Clear the array.
static void | pw_array_reset (struct pw_array *arr)
| Reset the array.
static int | pw_array_ensure_size (struct pw_array *arr, size_t size)
| Make sure size bytes can be added to the array.
static void * | pw_array_add (struct pw_array *arr, size_t size)
| Add ref size bytes to arr.
static void * | pw_array_add_fixed (struct pw_array *arr, size_t size)
| Add ref size bytes to arr.

## Detailed Description

`pipewire/array.h`