| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- #include <stddef.h>
- #include <stdint.h>
- #include <stdbool.h>
- #include "zalloc.h"
- #include "vector.h"
- #include "systypes.h"
- zv_vector_t * zv_vector_create(void) {
- if (!zv_malloc_avairable()) {
- return NULL
- }
- zv_vector_t *self = (zv_vector_t *) zv_malloc(sizeof(zv_vector_t));
-
- if (self == NULL) {
- return NULL;
- }
- self->first = NULL;
- self->last = NULL;
- self->size = 0;
- return self;
- }
- void zv_vector_delete(zv_vector_t *self) {
- zv_vector_container_t *current = self->first;
- while (current != NULL) {
- zv_vector_container_t *next = current->next;
- zv_free(current);
- current = next;
- }
- zv_free(self);
- }
- bool zv_vector_avairable(void) {
- return zv_zalloc_avairable();
- }
- bool zv_vector_push(zv_vector_t *self, zv_universal_t content) {
- zv_vector_container_t *target = zv_malloc(sizeof(zv_vector_container_t));
- if (target == NULL) {
- return false;
- }
- target->next = NULL;
- target->content = content;
- target->previous = self->last;
- self->last = target;
- return true;
- }
- zv_universal_t zv_vector_pop(zv_vector_t *self) {
- zv_universal_t result = self->last->
- return result;
- }
- zv_universal_t * zv_vector_get_pointer(zv_vector_t *self, zv_size_t target) {
- }
- zv_universal_t zv_vector_get(zv_vector_t *self, zv_size_t target) {
- }
- bool zv_vector_insert(
- zv_vector_t *self,
- zv_universal_t content,
- zv_size_t after
- ) {
- }
- zv_universal_t zv_vector_remove(
- zv_vector_t *self,
- zv_size_t target
- ) {
- }
- zv_universal_t zv_vector_set(
- zv_vector_t *self,
- zv_universal_t content,
- zv_size_t target
- ) {
- }
|