aboutsummaryrefslogtreecommitdiff
path: root/Vector.h
blob: 6f12bff06ae99ef7c733a953a1a1c27ec216167a (plain) (blame)
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
27
28
29
#ifndef _VECTOR
#define _VECTOR

#include "Types.h"
#include "MemoryManager.h"

typedef void* Vector;

/* Create */

Vector V_new(MemoryManager *mm, usize element_size, usize length);

/* Free */

Result V_free(Vector *arr);

/* Modify */

Result V_push(Vector *arr, void *pointer_to_value);
Result V_pushp(Vector* *arr, void *value);
Result V_pop(Vector *arr);

/* Get */

usize V_length(Vector arr);
usize V_count(Vector arr);
void* V_top(Vector arr);

#endif /* _VECTOR */