aboutsummaryrefslogtreecommitdiff
path: root/vec.h
diff options
context:
space:
mode:
authorMistivia <i@mistivia.com>2025-12-25 04:06:18 +0800
committerMistivia <i@mistivia.com>2025-12-25 04:06:18 +0800
commit1992412fd007600856896924f04d460bb212c9f1 (patch)
treeed4ecb5e3106a004588c1a0b00c0a87d6e089b1a /vec.h
parent1b59dbec2cc58b6b2404cf1732239e70a4915c69 (diff)
add create interface
Diffstat (limited to 'vec.h')
-rw-r--r--vec.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/vec.h b/vec.h
index e12ce7d..e040936 100644
--- a/vec.h
+++ b/vec.h
@@ -15,6 +15,7 @@
} T##Vector; \
\
void T##Vector_init(T##Vector *self); \
+ T##Vector T##Vector_create(); \
void T##Vector_push_back(T##Vector *self, T elem); \
void T##Vector_insert_before(T##Vector *self, int n, T elem); \
void T##Vector_pop(T##Vector *self); \
@@ -36,7 +37,11 @@
self->cap = 16; \
self->size = 0; \
} \
- \
+ T##Vector T##Vector_create() { \
+ T##Vector self; \
+ T##Vector_init(&self); \
+ return self; \
+ } \
void T##Vector_push_back(T##Vector *self, T elem) { \
if (self->size + 1 > self->cap) { \
self->buffer = realloc(self->buffer, sizeof(T) * self->cap * 2); \