From ba5c0a4579ece5d53c009a14d00e683e70b982f4 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 9 May 2025 18:29:52 +0100 Subject: Initial implementation --- vec.h | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 vec.h (limited to 'vec.h') diff --git a/vec.h b/vec.h new file mode 100644 index 0000000..9f35e20 --- /dev/null +++ b/vec.h @@ -0,0 +1,30 @@ +/* Copyright (C) 2025 Aryadev Chavali + + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License Version 2 for + * details. + + * You may distribute and modify this code under the terms of the GNU General + * Public License Version 2, which you should have received a copy of along with + * this program. If not, please go to . + + * Created: 2025-04-15 + * Description: Vectors (dynamic sized arrays) + */ + +#ifndef VEC_H +#define VEC_H + +#include "./memory.h" + +typedef struct +{ + u32 size, cap; + u8 *data; +} vec_t; + +void vec_reserve(arena_t *alloactor, vec_t *vec, u32 size); +u32 vec_append(arena_t *allocator, vec_t *vec, const void *data, u32 size); + +#endif -- cgit v1.2.3-13-gbd6f