#ifndef CX_ZIVUOS_VECTOR_H_INCLUDED #define CX_ZIVUOS_VECTOR_H_INCLUDED #include #include #include #include "result.h" #include "models.h" struct zv_vector_s; struct zv_vector_container_s; typedef struct zv_vector_s { size_t lenght; struct zv_vectos_container_s *first; struct zv_vector_container_s *last; } zv_vector_t; typedef struct zv_vector_container_s { struct zv_vector_container_s *previous; struct zv_vector_container_s *next; zv_universal_t content; } zv_vector_container_t; zv_vector_t * zv_vector_create(); zv_universal_t zv_vector_get(zv_vector_t *, size_t); size_t zv_vector_push(zv_vector_t *, zv_universal_t); size_t zv_vector_count(zv_vector_t *); zv_universal_t zv_vector_pop(zv_vector_t *, size_t); bool zv_vector_insert(zv_vector_t *, zv_universal_t, size_t); void zv_vector_remove(zv_vector_t *); zv_universal_t * zv_vector_to_array(zv_vector_t *); #endif