Added pop functions.
This commit is contained in:
parent
57ff54aac9
commit
02d792ab12
2 changed files with 9 additions and 1 deletions
|
|
@ -70,7 +70,7 @@ void vec_insert(vector *vec, void *data, uint index) {
|
|||
}
|
||||
void vec_erase(vector *vec, uint index) {
|
||||
assert(vec != NULL);
|
||||
assert(index <= vec->size);
|
||||
assert(index < vec->size);
|
||||
// TODO: handle wraparound
|
||||
|
||||
memcpy(vec->elements + index * vec->element_size,
|
||||
|
|
@ -78,6 +78,12 @@ void vec_erase(vector *vec, uint index) {
|
|||
(vec->size - index) * vec->element_size);
|
||||
vec->size--;
|
||||
}
|
||||
void vec_pop_front(vector *vec) { vec_erase(vec, 0); }
|
||||
void vec_pop_back(vector *vec) {
|
||||
assert(vec != NULL);
|
||||
assert(vec->size < 0);
|
||||
vec->size--;
|
||||
}
|
||||
|
||||
void *vec_get(vector *vec, uint index) {
|
||||
// TODO: handle wraparound
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ void vec_push_back(vector *vec, void *data);
|
|||
void vec_push_front(vector *vec, void *data);
|
||||
void vec_insert(vector *vec, void *data, uint index);
|
||||
void vec_erase(vector *vec, uint index);
|
||||
void vec_pop_front(vector *vec);
|
||||
void vec_pop_back(vector *vec);
|
||||
|
||||
void *vec_get(vector *vec, uint index);
|
||||
size_t vec_size(vector *vec);
|
||||
|
|
|
|||
Loading…
Reference in a new issue