| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef CX_ZIVUOS_VECTOR_H_INCLUDED
- #define CX_ZIVUOS_VECTOR_H_INCLUDED
- #include <stdbool.h>
- #include "systypes.h"
- #include "memory.h"
- 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;
- typedef struct zv_vector_s {
- zv_vector_container_t *first;
- zv_vector_container_t *last;
- zv_size_t size;
- } zv_vector_t;
- zv_vector_t * zv_vector_create(void);
- void zv_vector_delete(zv_vector_t *self);
- bool zv_vector_avairable(void);
- bool zv_vector_push(zv_vector_t *self, zv_universal_t content);
- zv_universal_t zv_vector_pop(zv_vector_t *self);
- 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
- );
- #endif
|