summaryrefslogtreecommitdiff
path: root/src/list.h
blob: 6d2211b5905b3565b97ded050887625cbb39a4fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#pragma once

typedef struct {
	union {
		float *fdata;
		int *idata;
		unsigned int *udata;
		unsigned char *bdata;
		void *data;
	};
	int len;
	int capacity;
	int elmSize;
} List;

void list_initf(List *list);
void list_initi(List *list);
void list_initu(List *list);
void list_initb(List *list);

void list_pushf(List *list, float f);
void list_pushi(List *list, int i);
void list_pushu(List *list, unsigned int u);
void list_pushb(List *list, unsigned char u);

void list_free(List *list);