diff options
Diffstat (limited to 'src/vec.h')
| -rw-r--r-- | src/vec.h | 25 |
1 files changed, 14 insertions, 11 deletions
@@ -6,33 +6,36 @@ #define WAYC_VEC_GROWTH 2 struct raw_vec_s { - u8 *ptr; + u8* ptr; usize size; usize len, cap; }; #define WAYC_RAW_VEC_INIT(size) raw_vec_s{nullptr, size, 0, 0} -void wayc_raw_vec_push(raw_vec_s *vec, const u8 *at); -bool wayc_raw_vec_pop(raw_vec_s *vec, u8 *out); -void wayc_raw_vec_deinit(raw_vec_s *vec); +void wayc_raw_vec_push(raw_vec_s* vec, const u8* at); +bool wayc_raw_vec_pop(raw_vec_s* vec, u8* out); +void wayc_raw_vec_deinit(raw_vec_s* vec); -template <typename T> struct vec_s { +template <typename T> +struct vec_s { raw_vec_s raw; }; -#define WAYC_VEC_INIT(type) \ +#define WAYC_VEC_INIT(type) \ vec_s<type> { WAYC_RAW_VEC_INIT(sizeof(type)) } template <typename T> -static inline void wayc_vec_push(vec_s<T> *vec, const T *at) { - wayc_raw_vec_push(&vec->raw, (u8 *)at); +static inline void wayc_vec_push(vec_s<T>* vec, const T* at) { + wayc_raw_vec_push(&vec->raw, (u8*)at); } -template <typename T> static inline bool wayc_vec_pop(vec_s<T> *vec, T *out) { - return wayc_raw_vec_pop(&vec->raw, (u8 *)out); +template <typename T> +static inline bool wayc_vec_pop(vec_s<T>* vec, T* out) { + return wayc_raw_vec_pop(&vec->raw, (u8*)out); } -template <typename T> static inline void wayc_vec_deinit(vec_s<T> *vec) { +template <typename T> +static inline void wayc_vec_deinit(vec_s<T>* vec) { wayc_raw_vec_deinit(&vec->raw); }
\ No newline at end of file |
