-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathxarray.h
More file actions
22 lines (14 loc) · 737 Bytes
/
Copy pathxarray.h
File metadata and controls
22 lines (14 loc) · 737 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef XARRAY_H_INCLUDED
#define XARRAY_H_INCLUDED
#include <stddef.h>
#define XArray_Alloc(size, elementType) XArray_AllocRaw(size, sizeof (elementType))
void *XArray_AllocRaw(size_t initialSize, size_t elementSize);
#define XArray_Resize(arr, newSize) XArray_ResizeRaw(arr, sizeof *(arr), newSize)
void *XArray_ResizeRaw(void *arr, size_t elementSize, size_t newSize);
#define XArray_Insert(arr, i) XArray_InsertRaw(arr, sizeof *(arr), i)
void *XArray_InsertRaw(void *arr, size_t elementSize, size_t i);
#define XArray_Remove(arr, i) XArray_RemoveRaw(arr, sizeof *(arr), i)
void *XArray_RemoveRaw(void *arr, size_t elementSize, size_t i);
size_t XArray_Len(void *arr);
void XArray_Free(void *arr);
#endif // XARRAY_H_INCLUDED