diff options
Diffstat (limited to 'example_vec/new/vec.h')
-rw-r--r-- | example_vec/new/vec.h | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/example_vec/new/vec.h b/example_vec/new/vec.h index 613af51..6842a42 100644 --- a/example_vec/new/vec.h +++ b/example_vec/new/vec.h @@ -10,10 +10,10 @@ typedef vec[any type]() { struct <> { size_t n; size_t s; - type *buf; + <type> *buf; }; - typedef type *<>_iter; + typedef <type> *<>_iter; struct <> <>_create(size_t reserve) { @@ -23,7 +23,7 @@ typedef vec[any type]() { return (struct <>){ .n = 0, .s = reserve, - .buf = malloc(reserve * sizeof(type)) + .buf = malloc(reserve * sizeof(<type>)) }; } @@ -38,25 +38,25 @@ typedef vec[any type]() { } - type *<>_at(struct <> *v, size_t i) + <type> *<>_at(struct <> *v, size_t i) { assert(i < v->n && "out of vector bounds"); return &v->buf[i]; } - type *<>_pop(struct <> *v) + <type> *<>_pop(struct <> *v) { assert(v->n && "attempting to pop empty vector"); v->n--; return &v->buf[v->n]; } - type* <>_append(struct <> *v, type n) + <type>* <>_append(struct <> *v, <type> n) { v->n++; if (v->n >= v->s) { v->s = v->s == 0 ? 1 : 2 * v->s; - v->buf = realloc(v->buf, v->s * sizeof(type)); + v->buf = realloc(v->buf, v->s * sizeof(<type>)); } v->buf[v->n - 1] = n; @@ -80,7 +80,7 @@ typedef vec[any type]() { while (v->s < v->n) v->s = v->s == 0 ? 1 : 2 * v->s; - v->buf = realloc(v->buf, v->s * sizeof(type)); + v->buf = realloc(v->buf, v->s * sizeof(<type>)); } void <>_shrink(struct <> *v, size_t n) @@ -92,7 +92,7 @@ typedef vec[any type]() { void <>_remove(struct <> *v, size_t i) { assert(v->n > i); - size_t c = sizeof(type) * (v->n - i); + size_t c = sizeof(<type>) * (v->n - i); memcpy(&v->buf[i], &v->buf[i + 1], c); v->n--; } |