commit 0fbd0a8e8f63d95a8004b06fc1ce9f21a9d0cc96
parent e6f6123e17f7518085f9ba2a9c8f9e77974c5666
Author: Robert Russell <robertrussell.72001@gmail.com>
Date: Wed, 14 Jun 2023 20:03:25 -0700
Prev commit, but for vectors
Diffstat:
2 files changed, 21 insertions(+), 9 deletions(-)
diff --git a/inc/vector-defaults.h b/inc/vector-defaults.h
@@ -0,0 +1,20 @@
+#undef R_VECTOR_STATIC
+#define R_VECTOR_STATIC
+
+#undef R_VECTOR_METHOD
+#define R_VECTOR_METHOD(name, prefix) JOIN(JOIN(prefix,_),name)
+
+#undef R_VECTOR_NULL_TERM
+#define R_VECTOR_NULL_TERM false
+
+#undef R_VECTOR_MIN_CAP
+#define R_VECTOR_MIN_CAP 8
+
+#undef R_VECTOR_HDR_TYPE
+#define R_VECTOR_HDR_TYPE RVectorGenericHdr_
+
+#undef R_VECTOR_REALLOC
+#define R_VECTOR_REALLOC r_erealloc
+
+#undef R_VECTOR_FREE
+#define R_VECTOR_FREE free
diff --git a/inc/vector.h b/inc/vector.h
@@ -6,7 +6,6 @@
#include "alloc.h"
#include "def.h"
-
#include "internal/util.h"
typedef struct r_vector_generic_hdr_ RVectorGenericHdr_;
@@ -19,14 +18,7 @@ struct r_vector_generic_hdr_ {
#define R_VECTOR_HDR_(v) ((R_VECTOR_HDR_TYPE *)(v) - 1)
-/* Defaults */
-#define R_VECTOR_STATIC
-#define R_VECTOR_METHOD(name, prefix) JOIN(JOIN(prefix,_),name)
-#define R_VECTOR_NULL_TERM false
-#define R_VECTOR_MIN_CAP 8
-#define R_VECTOR_HDR_TYPE RVectorGenericHdr_
-#define R_VECTOR_REALLOC r_erealloc
-#define R_VECTOR_FREE free
+#include "vector-defaults.h"
#define R_VECTOR_DECLARE(T, ...)\
static inline UNUSED usize R_VECTOR_METHOD(len,##__VA_ARGS__)(T *v) { return v ? R_VECTOR_HDR_(v)->len : 0; } \