|  | 
| #define | PW_ARRAY_INIT(extend)   ((struct pw_array) { NULL, 0, 0, (extend) }) | 
|  | Initialize an array. 
 | 
|  | 
| #define | pw_array_get_len_s(a,  s)   ((a)->size / (s)) | 
|  | Return the length of an array. 
 | 
|  | 
| #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) | 
|  | 
An array object
The array is a dynamically resizable data structure that can hold items of the same size. 
◆ PW_ARRAY_INIT
      
        
          | #define PW_ARRAY_INIT | ( |  | extend | ) | ((struct pw_array) { NULL, 0, 0, (extend) }) | 
      
 
Initialize an array. 
The new array is empty. 
 
 
◆ pw_array_get_len_s
      
        
          | #define pw_array_get_len_s | ( |  | a, | 
        
          |  |  |  | s )   ((a)->size / (s)) | 
      
 
Return the length of an array. 
 
 
◆ pw_array_get_unchecked_s
      
        
          | #define pw_array_get_unchecked_s | ( |  | a, | 
        
          |  |  |  | idx, | 
        
          |  |  |  | s, | 
        
          |  |  |  | t )   SPA_PTROFF((a)->data,(idx)*(s),t) | 
      
 
 
◆ pw_array_check_index_s
◆ pw_array_get_len
Get the number of items of type t in array. 
 
 
◆ pw_array_get_unchecked
Get the item with index idx and type t from array. 
No bounds check is done. 
 
 
◆ pw_array_check_index
Check if an item with index idx and type t exist in array. 
 
 
◆ pw_array_first
      
        
          | #define pw_array_first | ( |  | a | ) | ((a)->data) | 
      
 
 
◆ pw_array_end
      
        
          | #define pw_array_end | ( |  | a | ) | SPA_PTROFF((a)->data, (a)->size, void) | 
      
 
 
◆ pw_array_check
◆ pw_array_for_each
      
        
          | #define pw_array_for_each | ( |  | pos, | 
        
          |  |  |  | array ) | 
      
 
 
◆ pw_array_consume
      
        
          | #define pw_array_consume | ( |  | pos, | 
        
          |  |  |  | array ) | 
      
 
 
◆ pw_array_remove
      
        
          | #define pw_array_remove | ( |  | a, | 
        
          |  |  |  | p ) | 
      
 
 
◆ pw_array_init()
  
  | 
        
          | static void pw_array_init | ( | struct pw_array * | arr, |  
          |  |  | size_t | extend ) |  | inlinestatic | 
 
Initialize the array with given extend. 
Extend needs to be > 0 or else the array will not be able to expand. 
 
 
◆ pw_array_clear()
  
  | 
        
          | static void pw_array_clear | ( | struct pw_array * | arr | ) |  |  | inlinestatic | 
 
 
◆ pw_array_init_static()
  
  | 
        
          | static void pw_array_init_static | ( | struct pw_array * | arr, |  
          |  |  | void * | data, |  
          |  |  | size_t | size ) |  | inlinestatic | 
 
Initialize a static array. 
 
 
◆ pw_array_reset()
  
  | 
        
          | static void pw_array_reset | ( | struct pw_array * | arr | ) |  |  | inlinestatic | 
 
 
◆ pw_array_ensure_size()
  
  | 
        
          | static int pw_array_ensure_size | ( | struct pw_array * | arr, |  
          |  |  | size_t | size ) |  | inlinestatic | 
 
Make sure size bytes can be added to the array. 
 
 
◆ pw_array_add()
  
  | 
        
          | static void * pw_array_add | ( | struct pw_array * | arr, |  
          |  |  | size_t | size ) |  | inlinestatic | 
 
Add ref size bytes to arr. 
A pointer to memory that can hold at least size bytes is returned or NULL when an error occurred and errno will be set. 
 
 
◆ pw_array_add_ptr()
  
  | 
        
          | static int pw_array_add_ptr | ( | struct pw_array * | arr, |  
          |  |  | void * | ptr ) |  | inlinestatic | 
 
Add a pointer to array. 
Returns 0 on success and a negative errno style error on failure.