22 lines
612 B
C
22 lines
612 B
C
|
#ifndef VECTOR_H
|
|||
|
#define VECTOR_H
|
|||
|
|
|||
|
#include <stdlib.h>
|
|||
|
|
|||
|
typedef struct {
|
|||
|
void* data; // Puntero a buffer genérico
|
|||
|
size_t size; // Cantidad de elementos actualmente en el vector
|
|||
|
size_t capacity; // Capacidad total del vector
|
|||
|
size_t element_size; // Tamaño de cada elemento
|
|||
|
} Vector;
|
|||
|
|
|||
|
void vector_init(Vector* v, size_t element_size, size_t initial_capacity);
|
|||
|
void vector_push_back(Vector* v, const void* element);
|
|||
|
void vector_pop_back(Vector* v);
|
|||
|
void *vector_get(Vector* v, size_t index);
|
|||
|
size_t vector_size(Vector* v);
|
|||
|
size_t vector_capacity(Vector* v);
|
|||
|
void vector_free(Vector* v);
|
|||
|
|
|||
|
#endif
|