diff options
| author | Mistivia <i@mistivia.com> | 2025-06-20 23:00:17 +0800 |
|---|---|---|
| committer | Mistivia <i@mistivia.com> | 2025-06-20 23:00:17 +0800 |
| commit | 16c7734be15f6f09fa732297a1fecc1076fa9df7 (patch) | |
| tree | 9df55f16aa1c3d9e72416a2fcd892ab84f603e6c /src/vec.h | |
| parent | 8db6e93d49aed1e4dac3e5090babb29ddcf0beac (diff) | |
add vector method
Diffstat (limited to 'src/vec.h')
| -rw-r--r-- | src/vec.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -18,9 +18,11 @@ 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); \ + bool T##Vector_empty(T##Vector *self); \ void T##Vector_remove(T##Vector *self, size_t n); \ size_t T##Vector_len(T##Vector *self); \ T* T##Vector_begin(T##Vector *self); \ + T* T##Vector_last(T##Vector *self); \ T* T##Vector_end(T##Vector *self); \ T* T##Vector_ref(T##Vector *self, size_t n); \ void T##Vector_swap(T##Vector *self, int i, int j); \ @@ -69,7 +71,9 @@ self->size -= 1; \ } \ T* T##Vector_begin(T##Vector *self) { return self->buffer; } \ + bool T##Vector_empty(T##Vector *self) { return self->size == 0; } \ T* T##Vector_end(T##Vector *self) { return self->buffer + self->size; } \ + T* T##Vector_last(T##Vector *self) { return self->buffer + self->size - 1; } \ T* T##Vector_ref(T##Vector *self, size_t n) { return self->buffer + n; } \ void T##Vector_swap(T##Vector *self, int i, int j) { \ T buf; \ |
