diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-08-20 22:19:14 +0100 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-08-20 22:19:14 +0100 |
commit | 55293ae396eb3409113c0edf73c2f661d008f9d6 (patch) | |
tree | 8c81e06049524da2849647082016a0ea8363d502 /alisp.h | |
parent | df558da7e1979a59b5207c323962aa59b61258e4 (diff) | |
download | alisp-55293ae396eb3409113c0edf73c2f661d008f9d6.tar.gz alisp-55293ae396eb3409113c0edf73c2f661d008f9d6.tar.bz2 alisp-55293ae396eb3409113c0edf73c2f661d008f9d6.zip |
vec -> ivec
I'm going to implement a normal stable vector instead of an inline
vector so we have both options for use. I think that's smarter than
just sticking to one.
Diffstat (limited to 'alisp.h')
-rw-r--r-- | alisp.h | 30 |
1 files changed, 15 insertions, 15 deletions
@@ -46,25 +46,25 @@ typedef struct sv_t sv_copy(sv_t old); -/// Dynamic arrays +/// Inlined Dynamic arrays -typedef struct +typedef struct InlineVector { u64 size, capacity; u8 bytes[]; -} vec_t; - -#define VEC_GET(P) (((vec_t *)(P)) - 1) -#define VEC_SIZE(P) (VEC_GET(P)->size) -#define VEC_CAP(P) (VEC_GET(P)->capacity) -#define VEC_MULT 2 - -void vec_make(void **ptr, u64 size); -void vec_free(void **data); -void vec_ensure_remaining(void **ptr, u64 space); -void vec_append_byte(void **ptr, u8 byte); -void vec_append(void **ptr, void *data, u64 size); -void vec_clone(void **dest, void **src); +} ivec_t; + +#define IVEC_GET(P) (((ivec_t *)(P)) - 1) +#define IVEC_SIZE(P) (IVEC_GET(P)->size) +#define IVEC_CAP(P) (IVEC_GET(P)->capacity) +#define IVEC_MULT 2 + +void ivec_make(void **ptr, u64 size); +void ivec_free(void **data); +void ivec_ensure_remaining(void **ptr, u64 space); +void ivec_append_byte(void **ptr, u8 byte); +void ivec_append(void **ptr, void *data, u64 size); +void ivec_clone(void **dest, void **src); /// Symbol table typedef struct |