rcx

library of miscellaneous bits of C code
git clone git://git.rr3.xyz/rcx
Log | Files | Refs | README | LICENSE

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:
Ainc/vector-defaults.h | 20++++++++++++++++++++
Minc/vector.h | 10+---------
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; } \