commit eba7fdc831830b6e6a34f94ecd2394cdc63999a8
parent b9c673ffb02568211832f0767291afe0822114b8
Author: Robert Russell <robertrussell.72001@gmail.com>
Date: Fri, 9 Sep 2022 20:05:27 -0700
Make vector len and cap take T*, not T**
This makes more sense. We could also make peek take T* instead.
Diffstat:
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/inc/rcx/vector.h b/inc/rcx/vector.h
@@ -27,9 +27,9 @@ typedef struct {
#define R_VECTOR_FREE free
#define R_VECTOR_DECLARE(T, ...)\
+R_VECTOR_STATIC UNUSED usize R_VECTOR_METHOD(len,##__VA_ARGS__)(T *v); \
+R_VECTOR_STATIC UNUSED usize R_VECTOR_METHOD(cap,##__VA_ARGS__)(T *v); \
R_VECTOR_STATIC UNUSED void R_VECTOR_METHOD(free,##__VA_ARGS__)(T **v); \
-R_VECTOR_STATIC UNUSED usize R_VECTOR_METHOD(len,##__VA_ARGS__)(T **v); \
-R_VECTOR_STATIC UNUSED usize R_VECTOR_METHOD(cap,##__VA_ARGS__)(T **v); \
R_VECTOR_STATIC UNUSED int R_VECTOR_METHOD(resize,##__VA_ARGS__)(T **v, usize cap); \
R_VECTOR_STATIC UNUSED int R_VECTOR_METHOD(reserve,##__VA_ARGS__)(T **v, usize n); \
R_VECTOR_STATIC UNUSED int R_VECTOR_METHOD(ins,##__VA_ARGS__)(T **v, usize i, T e); \
@@ -43,17 +43,17 @@ R_VECTOR_STATIC UNUSED T R_VECTOR_METHOD(pop,##__VA_ARGS__)(T **v); \
R_VECTOR_STATIC UNUSED T R_VECTOR_METHOD(peek,##__VA_ARGS__)(T **v);
#define R_VECTOR_DEFINE(T, ...)\
+usize R_VECTOR_METHOD(len,##__VA_ARGS__)(T *v) { \
+ return v ? R_VECTOR_HDR_(v)->len : 0; \
+} \
+usize R_VECTOR_METHOD(cap,##__VA_ARGS__)(T *v) { \
+ return v ? R_VECTOR_HDR_(v)->cap : 0; \
+} \
void R_VECTOR_METHOD(free,##__VA_ARGS__)(T **v) { \
if (*v) \
R_VECTOR_FREE(R_VECTOR_HDR_(*v)); \
*v = 0; \
} \
-usize R_VECTOR_METHOD(len,##__VA_ARGS__)(T **v) { \
- return *v ? R_VECTOR_HDR_(*v)->len : 0; \
-} \
-usize R_VECTOR_METHOD(cap,##__VA_ARGS__)(T **v) { \
- return *v ? R_VECTOR_HDR_(*v)->cap : 0; \
-} \
int R_VECTOR_METHOD(resize,##__VA_ARGS__)(T **v, usize cap) { \
if (cap == 0) { \
R_VECTOR_METHOD(free,##__VA_ARGS__)(v); \
@@ -98,7 +98,7 @@ int R_VECTOR_METHOD(ins,##__VA_ARGS__)(T **v, usize i, T e) { \
} \
int R_VECTOR_METHOD(insv,##__VA_ARGS__)(T **dst, usize i, T *src) { \
return R_VECTOR_METHOD(insn,##__VA_ARGS__)(dst, i, src, \
- R_VECTOR_METHOD(len,##__VA_ARGS__)(&src)); \
+ R_VECTOR_METHOD(len,##__VA_ARGS__)(src)); \
} \
int R_VECTOR_METHOD(insn,##__VA_ARGS__)(T **dst, usize i, T *src, usize n) { \
if (R_VECTOR_METHOD(reserve,##__VA_ARGS__)(dst, n)) \
@@ -114,11 +114,11 @@ int R_VECTOR_METHOD(push,##__VA_ARGS__)(T **v, T e) { \
} \
int R_VECTOR_METHOD(cat,##__VA_ARGS__)(T **dst, T *src) { \
return R_VECTOR_METHOD(catn,##__VA_ARGS__)(dst, \
- src, R_VECTOR_METHOD(len,##__VA_ARGS__)(&src)); \
+ src, R_VECTOR_METHOD(len,##__VA_ARGS__)(src)); \
} \
int R_VECTOR_METHOD(catn,##__VA_ARGS__)(T **dst, T *src, usize n) { \
return R_VECTOR_METHOD(insn,##__VA_ARGS__)(dst, \
- R_VECTOR_METHOD(len,##__VA_ARGS__)(dst), src, n); \
+ R_VECTOR_METHOD(len,##__VA_ARGS__)(*dst), src, n); \
} \
T R_VECTOR_METHOD(del,##__VA_ARGS__)(T **v, usize i) { \
T e = (*v)[i]; \