From 16c7734be15f6f09fa732297a1fecc1076fa9df7 Mon Sep 17 00:00:00 2001 From: Mistivia Date: Fri, 20 Jun 2025 23:00:17 +0800 Subject: add vector method --- src/vec.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/vec.h b/src/vec.h index faa314a..7ce52ea 100644 --- a/src/vec.h +++ b/src/vec.h @@ -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; \ -- cgit v1.0