Open Broadcaster Software
Free, open source software for live streaming and recording
darray.h File Reference

Go to the source code of this file.

Data Structures

struct  darray
 

Macros

#define DARRAY_INVALID   ((size_t)-1)
 
#define DARRAY(type)
 
#define da_init(v)   darray_init(&v.da)
 
#define da_free(v)   darray_free(&v.da)
 
#define da_alloc_size(v)   (sizeof(*v.array) * v.num)
 
#define da_end(v)   darray_end(sizeof(*v.array), &v.da)
 
#define da_reserve(v, capacity)    darray_reserve(sizeof(*v.array), &v.da, capacity)
 
#define da_resize(v, size)   darray_resize(sizeof(*v.array), &v.da, size)
 
#define da_copy(dst, src)   darray_copy(sizeof(*dst.array), &dst.da, &src.da)
 
#define da_copy_array(dst, src_array, n)    darray_copy_array(sizeof(*dst.array), &dst.da, src_array, n)
 
#define da_move(dst, src)   darray_move(&dst.da, &src.da)
 
#define da_find(v, item, idx)   darray_find(sizeof(*v.array), &v.da, item, idx)
 
#define da_push_back(v, item)   darray_push_back(sizeof(*v.array), &v.da, item)
 
#define da_push_back_new(v)   darray_push_back_new(sizeof(*v.array), &v.da)
 
#define da_push_back_array(dst, src_array, n)    darray_push_back_array(sizeof(*dst.array), &dst.da, src_array, n)
 
#define da_push_back_da(dst, src)    darray_push_back_darray(sizeof(*dst.array), &dst.da, &src.da)
 
#define da_insert(v, idx, item)    darray_insert(sizeof(*v.array), &v.da, idx, item)
 
#define da_insert_new(v, idx)   darray_insert_new(sizeof(*v.array), &v.da, idx)
 
#define da_insert_array(dst, idx, src_array, n)    darray_insert_array(sizeof(*dst.array), &dst.da, idx, src_array, n)
 
#define da_insert_da(dst, idx, src)    darray_insert_darray(sizeof(*dst.array), &dst.da, idx, &src.da)
 
#define da_erase(dst, idx)   darray_erase(sizeof(*dst.array), &dst.da, idx)
 
#define da_erase_item(dst, item)    darray_erase_item(sizeof(*dst.array), &dst.da, item)
 
#define da_erase_range(dst, from, to)    darray_erase_range(sizeof(*dst.array), &dst.da, from, to)
 
#define da_pop_back(dst)   darray_pop_back(sizeof(*dst.array), &dst.da);
 
#define da_join(dst, src)   darray_join(sizeof(*dst.array), &dst.da, &src.da)
 
#define da_split(dst1, dst2, src, idx)    darray_split(sizeof(*src.array), &dst1.da, &dst2.da, &src.da, idx)
 
#define da_move_item(v, from, to)    darray_move_item(sizeof(*v.array), &v.da, from, to)
 
#define da_swap(v, idx1, idx2)   darray_swap(sizeof(*v.array), &v.da, idx1, idx2)
 

Macro Definition Documentation

◆ da_alloc_size

#define da_alloc_size (   v)    (sizeof(*v.array) * v.num)

◆ da_copy

#define da_copy (   dst,
  src 
)    darray_copy(sizeof(*dst.array), &dst.da, &src.da)

◆ da_copy_array

#define da_copy_array (   dst,
  src_array,
 
)     darray_copy_array(sizeof(*dst.array), &dst.da, src_array, n)

◆ da_end

#define da_end (   v)    darray_end(sizeof(*v.array), &v.da)

◆ da_erase

#define da_erase (   dst,
  idx 
)    darray_erase(sizeof(*dst.array), &dst.da, idx)

◆ da_erase_item

#define da_erase_item (   dst,
  item 
)     darray_erase_item(sizeof(*dst.array), &dst.da, item)

◆ da_erase_range

#define da_erase_range (   dst,
  from,
  to 
)     darray_erase_range(sizeof(*dst.array), &dst.da, from, to)

◆ da_find

#define da_find (   v,
  item,
  idx 
)    darray_find(sizeof(*v.array), &v.da, item, idx)

◆ da_free

#define da_free (   v)    darray_free(&v.da)

◆ da_init

#define da_init (   v)    darray_init(&v.da)

◆ da_insert

#define da_insert (   v,
  idx,
  item 
)     darray_insert(sizeof(*v.array), &v.da, idx, item)

◆ da_insert_array

#define da_insert_array (   dst,
  idx,
  src_array,
 
)     darray_insert_array(sizeof(*dst.array), &dst.da, idx, src_array, n)

◆ da_insert_da

#define da_insert_da (   dst,
  idx,
  src 
)     darray_insert_darray(sizeof(*dst.array), &dst.da, idx, &src.da)

◆ da_insert_new

#define da_insert_new (   v,
  idx 
)    darray_insert_new(sizeof(*v.array), &v.da, idx)

◆ da_join

#define da_join (   dst,
  src 
)    darray_join(sizeof(*dst.array), &dst.da, &src.da)

◆ da_move

#define da_move (   dst,
  src 
)    darray_move(&dst.da, &src.da)

◆ da_move_item

#define da_move_item (   v,
  from,
  to 
)     darray_move_item(sizeof(*v.array), &v.da, from, to)

◆ da_pop_back

#define da_pop_back (   dst)    darray_pop_back(sizeof(*dst.array), &dst.da);

◆ da_push_back

#define da_push_back (   v,
  item 
)    darray_push_back(sizeof(*v.array), &v.da, item)

◆ da_push_back_array

#define da_push_back_array (   dst,
  src_array,
 
)     darray_push_back_array(sizeof(*dst.array), &dst.da, src_array, n)

◆ da_push_back_da

#define da_push_back_da (   dst,
  src 
)     darray_push_back_darray(sizeof(*dst.array), &dst.da, &src.da)

◆ da_push_back_new

#define da_push_back_new (   v)    darray_push_back_new(sizeof(*v.array), &v.da)

◆ da_reserve

#define da_reserve (   v,
  capacity 
)     darray_reserve(sizeof(*v.array), &v.da, capacity)

◆ da_resize

#define da_resize (   v,
  size 
)    darray_resize(sizeof(*v.array), &v.da, size)

◆ da_split

#define da_split (   dst1,
  dst2,
  src,
  idx 
)     darray_split(sizeof(*src.array), &dst1.da, &dst2.da, &src.da, idx)

◆ da_swap

#define da_swap (   v,
  idx1,
  idx2 
)    darray_swap(sizeof(*v.array), &v.da, idx1, idx2)

◆ DARRAY

#define DARRAY (   type)
Value:
union { \
struct darray da; \
struct { \
type *array; \
size_t num; \
size_t capacity; \
}; \
}

◆ DARRAY_INVALID

#define DARRAY_INVALID   ((size_t)-1)
darray
Definition: darray.h:41